day11
函数名的本质是一个特殊变量
1.单独打印函数名:内存地址
2.函数名的赋值
3.函数名可以作为容器类数据
4.函数名可以作为参数
5.函数名可以作为函数返回值
闭包:就是内层函数对外层函数(非全局)变量的引用,判断内层函数名:.__closure__
作用:当函数开始执行时,如果遇到了闭包,他会永远开辟一个内存空间,将闭包中的变量值放入其中,不会随着函数执行完毕消失
装饰器
在不改变原函数执行的情况下,为原函数增加额外功能
def wrapper(被装饰函数名):
def inner(*args,**kwargs)
被装饰函数之前
ret = func(*args,**kwargs)
被装饰函数之后
return inner
@wrapper
def 被装饰函数(a,b):
pass
return xxx
被装饰函数名()