发布时间:2019-09-26 07:24:46编辑:auto阅读(1603)
#定义装饰器,outer参数是函数,返回也是函数 #作用:在函数执行前和执行后分别附加额外功能 def outer(func): def inner(*args, **kwargs): print("log") func(*args, **kwargs) print("Don't back") # return "r" return inner @outer def f1(a): print(a,"F1") @outer def f2(a,b): print("F2",a,b) f1(123) f2(123,456) #带参数的装饰器,在outer外边又包装了一层 def oo(arg): print("hihihihi") #此处的代码,在装饰器被调用时就被执行,不需要等被装饰的函数被调用 def outer(func): def inner(*args, **kwargs): print(arg) print("log") func(*args, **kwargs) print("Don't back") print(arg) # return "r" return inner return outer def tt(func): def inner(*args, **kwargs): # print(arg) print("aaaaa") func(*args, **kwargs) print("ttttt") # print(arg) # return "r" return inner @tt @oo(123333) #可以多层装饰,规则是:从上到下执行装饰器 def f1(a): print(a,"F1") @oo(11111) def f2(a,b): print("F2",a,b) #f1(123) #f2(123,456) 结果: hihihihi hihihihi
上一篇: python3学习之字符串
下一篇: python3第六天(数据结构)
47756
46264
37145
34652
29241
25899
24769
19873
19435
17928
5725°
6330°
5847°
5898°
7000°
5836°
5856°
6370°
6326°
7691°