Pythonは3つのデコレータで来ます

デコレータを言えば、私はPythonは3つのデコレータが付属していますと言っています:

1、財産の使用などの機能への@プロパティ、

@property修飾法は、使用するプロパティになることです。

class A():


    @property
    def pfunc(self):
        return self.value

    @pfunc.setter
    def pfunc(self,value):
        self.value = value

    @property
    def pfunc1(self):
        print('this is property')

if __name__=="__main__":

    A.pfunc = 9
    print A.pfunc
    A.pfunc1

クラスメソッド変更されたクラスの道@ 2、

修正を加えたクラスメソッドは:インスタンス化されたコールすることなく、メソッドに渡して、暗黙的なオブジェクトとしてクラス、最初のパラメータとしてメソッドをCLS。

一般的な機能方法:メソッドを呼び出すときに、最初の引数としてselfは、メソッドへの暗黙のクラスインスタンスは、クラスをインスタンス化する必要があります。

class A():
    def func(self,x,y):
        return x * y

    @classmethod
    def cfunc(cls,x,y):
        return x * y

if __name__=="__main__":
    print A().func(5,5)
    print A.cfunc(4,5)
 

3、staticmethod修正クラスやり方@

1)クラスの埋め込み機能への道があり、関数がクラスに属し、関数がクラスにアクセスする必要がないことを示しています

2)変性サービス、修正された方法の使用をインスタンス化する必要はありません

class A():
    def func(self,x,y):
        return x * y


    @staticmethod
    def sfunc(x,y):
        return x * y


if __name__=="__main__":

    print A.sfunc(6,5)

おすすめ

転載: www.cnblogs.com/djdjdj123/p/11807427.html