Python類中的裝飾器在當前類中的聲明與調用


[本文出自天外歸雲的博客園]

我的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

參考資料:

1. Python decorators in classes


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM