pythonクラスメソッド/インスタンスメソッド/静的メソッド

1828 ワード

クラスメソッド:最初のパラメータがクラス自体であるメソッドを暗黙的に受信し、クラスまたはインスタンスで呼び出すことができます.クラスメソッド定義ではインスタンスプロパティおよびインスタンスメソッドを呼び出すことはできません.定義されたクラスプロパティと定義されたクラスメソッドを呼び出すことができます.@classmethodデザイナを使用して定義します.
1 class Test(object):
2     @classmethod
3     def method(cls,*args,**kw):#  cls   Test   
4         pass

 
≪インスタンス・メソッド|Instance Method|emdw≫:最初のパラメータがインスタンス自体であるメソッドを暗黙的に受信し、インスタンスのみで呼び出すことができます.インスタンス・メソッド定義では、定義済みのインスタンス・プロパティおよびクラス・プロパティにアクセスできます.インスタンス・メソッドとクラス・メソッドを呼び出します.定義メソッドと関数定義メソッドは同じですが、最初のパラメータはインスタンス自体を表します.
1 class Test(object):
2     def insMethod(self,*args,**kw):#self      
3         pass

 
静的メソッド:暗黙的パラメータがないメソッドは、クラスまたはインスタンスを介して呼び出すことができます.インスタンス暗黙的パラメータが入力されていないため、静的メソッド定義では自己定義のインスタンスメソッドを呼び出すことができません.クラス名で自生定義のクラス属性とクラスメソッドにアクセスし、@staticmethodデザイナで定義できます.
class Test(object):
    @staticmethod
    def stMethod(*args,**kw):
        pass