【发布时间】:2018-04-15 18:08:37
【问题描述】:
从一个著名的例子中,我了解到 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。