デコレータを言えば、私は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)