有名な例から、私はPythonクラスのmethod、classmethod、staticmethodの違いを学びました。同じPythonクラスのメソッド、クラスメソッド、静的メソッド
出典: What is the difference between @staticmethod and @classmethod in Python?
class A(object):
def foo(self,x):
print "executing foo(%s,%s)"%(self,x)
@classmethod
def class_foo(cls,x):
print "executing class_foo(%s,%s)"%(cls,x)
@staticmethod
def static_foo(x):
print "executing static_foo(%s)"%x
# My Guesses
def My_Question(self,x):
self.foo(x)
A.class_foo(x)
A.static_foo(x)
a=A()
今、私はクラス内でメソッド、@classmethod
、および@staticmethod
を呼び出す方法を、疑問に思って。
私は上記のMy_Question
機能に私の推測を入れましたが、私はこれらのいずれかに間違っていれば私を修正してください。
あなたが持っているものは正しいです。すべて3に 'self'を使うこともできます。 – wim