python装饰器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python装饰器相关的知识,希望对你有一定的参考价值。
1.以下代码,bar作为参数被test2调用。bar的原代码没变,但调用方式从bar()变成test2(bar) 不符合装饰器定义
1 __author__ = "csy" 2 3 def bar(): 4 print("in the bar") 5 6 def test2(func): 7 print(func) 8 func() 9 10 test2(bar)
输出:
<function bar at 0x00000000006BFE18>
in the bar
2.以下代码bar的原代码没变,调用方式仍为bar(),符合装饰器定义
1 __author__ = "csy" 2 3 def test2(func): 4 def warpper(*args,**kwargs): 5 print(func) 6 func() 7 return warpper 8 9 @test2 10 def bar(): 11 print("in the bar1") 12 13 bar()
输出:
<function bar at 0x0000000000A4FEA0>
in the bar1
如果去掉 第9行 @test2,则只会显示
in the bar1
证明装饰器功能已实现
以上是关于python装饰器的主要内容,如果未能解决你的问题,请参考以下文章