发布时间:2019-09-26 07:24:46编辑:auto阅读(1717)
#定义装饰器,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第六天(数据结构)
48448
47336
38218
35460
29918
26625
25597
20545
20237
18664
54°
67°
166°
113°
141°
258°
335°
332°
309°
396°