装饰器

上节课复习:
1、函数参数
形参
位置形参
默认形参
实参
位置实参
关键字实参key=value

*与**
形参=》汇总
*args,**kwargs

实参=>打撒
*可以被循环的类型
**字典

2、特殊形式
def wrapper(*args,**kwargs): # args=(1,2,3) kwargs={"a":1,"b":2}
index(*args,**kwargs) # index(*(1,2,3),**{"a":1,"b":2})
# index(1,2,3,a=1,b=2)

wrapper(1,2,3,a=1,b=2)

3、函数对象

def index(): # index=函数index的内存地址
print("index")

def foo(func): # func=函数index的内存地址
return func # return 函数index的内存地址

res=foo(index) # foo(函数index的内存地址)
res()

4、函数嵌套
def max4(a,b,c,d):
res1=max2(a,b)
res2=max2(res1,c)
res3=max2(res2,d)
return res3


def f1():
def f2():
pass

 


def f1():
x=10
def f2(): # f2=内存地址
print('from f2')
return f2


res=f1()

print(res)
res()

今日内容:
1、名称空间与作用域

2、闭包
函数对象+函数嵌套定义+名称空间与作用域=》闭包函数

3、装饰器

posted @ 2020-11-27 22:03  每天写博客  阅读(46)  评论(0编辑  收藏  举报