首页 > 代码库 > python3学习之装饰器
python3学习之装饰器
#定义装饰器,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学习之装饰器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。