this->
像C / C ++等一样,Python中没有隐式的。您必须对其进行调用self
。
class Foo:
def __bar(self, arg):
#do something
def baz(self, arg):
self.__bar(arg)
这些方法并不是 真正的 私有。当您使用两个下划线开头的方法名称时,Python会进行一些名称修饰以使其变为“私有”,仅此而已,它不会像其他语言那样强制执行任何操作。如果定义__bar
onFoo
,则仍然可以从对象外部访问它Foo._Foo__bar
。例如,可以做到这一点:
f = Foo()
f._Foo__bar('a')
这也解释了错误消息中的“奇数”标识符。
您可以here
在文档中找到它。