函数
函数的定义和调用
def 函数名(形参):
函数体
return 返回值
站在形参的角度上:位置参数,*agrs,默认参数(陷阱),**kwargs
站在实参的角度上:按照位置传,按照关键字传
返回值:没有返回值 返回一个值 返回多个值
接收返回值:没有返回值不接受,返回一个值用一个变量接收,返回多个值用一个变量或对应数目的变量接收
闭包函数
在内部函数引用外部函数的变量
装饰器
装饰器一定是闭包函数
作用:在不改变原来函数的调用方式的情况下在这个函数的前后添加新的功能
完美的符合了一个开发原则:开放封闭原则
对扩展是开发的
对修改是封闭的
@wrapper使用装饰器---语法糖
完美的装饰器
from functools import wraps
@wraps(func)
取函数名的时候使用
带参数的装饰器
@wrapper --》@wrapper(argument)
三层嵌套函数
多个装饰器装饰一个函数
@wrapper1
@wrapper2
def func():
pass
这里就是先运行wrapper1在运行wrapper2
迭代器
dir加类型可以打印出该数据类型所有可以使用的方法
双下划线的方法叫做双下方法-------写好的c语言方法
print([1].__add__([2]))
print([1] + [2])
如果这个方法,一般情况下双下方法不被调用
set将列表变集合
int不可迭代
可以用‘’iter‘’ in dir(int)判断
只要是能被for循环的数据类型就一定拥有____iter____方法
iterator迭代器