#定义装饰器,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学习之装饰器
原创
©著作权归作者所有:来自51CTO博客作者lejie851112的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:python3学习之生成器
下一篇:python3学习之序列化
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python3之装饰器
参考:https://www.cnblogs.com/songyue/p/5196809.html 例如以前写了
sed 运行时间 带参数 赋值 python -
python学习系列之python装饰器基础(3)---装饰器实现用户登录验证
python装饰器实现用户登录验证
python 装饰器 python装饰器 -
python3装饰器的简单解释
python3装饰器的简单解释
python3 装饰器 简单解释 -
了解python之装饰器了解python之装饰器
了解python之装饰器谁可以作为装饰器(可以将谁
带参数 python 赋值