这很烦人:
class MyClass:
@staticmethod
def foo():
print "hi"
@staticmethod
def bar():
MyClass.foo()
有没有一种方法可以在不命名MyClass的情况下使此工作正常进行?也就是说,我只能在最后一行说
foo()
吗? 最佳答案
无法使用foo
来获得想要的东西。没有隐式类作用域,因此foo
是本地或全局的,都不希望使用。
您可能会发现类方法更有用:
class MyClass:
@classmethod
def foo(cls):
print "hi"
@classmethod
def bar(cls):
cls.foo()
这样,至少您不必重复该类的名称。