[本文出自天外歸雲的博客園]
我的Python環境:3.7
在Python類里聲明一個裝飾器,並在這個類里調用這個裝飾器。代碼如下:
class Test(): xx = False def __init__(self): pass def test(func): def wrapper(self, *args, **kwargs): print(self.xx) return func(self, *args, **kwargs) return wrapper @test def test_a(self,a,b): print(f'ok,{a} {b}')
注意:
1. 其中裝飾器test是在類Test中聲明並在其方法test_a中調用
2. 裝飾器test內層wrapper函數的首參數是self
參考資料: