如果我有以下课程。
{{1}}
在这种情况下,方法1是在Python世界中调用staticmethod _bar()或方法2的首选方法吗?
答案 0 :(得分:4)
编写表达您想要做的事情的代码。如果你想在这里调用这个方法:
class Foo:
@staticmethod
def _bar(): # <-- this one
# do something
print "static method"
然后指定该特定方法:
Foo._bar()
如果你想调用self._bar
解析的任何内容,这意味着你实际上已经决定覆盖它并确保你的代码在覆盖该方法时仍能正常运行,那么请指定{{1} }:
self._bar
最有可能的情况是,此方法并非旨在被覆盖,并且使用它的代码并非旨在预期覆盖它,因此您可能需要self._bar()
。