为什么在Python中从方法中引用对象的成员没有简写?

Vik*_*nti 1 python oop class

我不理解Python教程中的以下句子:

从它的方法引用对象的成员没有简写方法.方法函数使用表示对象的显式第一个参数声明,该参数由调用隐式提供.

这是否意味着,在类的每个方法中,其对象都与数据成员一起隐藏?这可以用示例代码解释吗?

Ran*_*ndy 7

这只是指在对象的方法中,对象本身始终是第一个参数(即"自我" def method(self, arg1, arg2)),并且您需要self.var在方法中明确地说出您想要的而不仅仅是说var.

有关做出该决定的更多背景信息,请参阅https://docs.python.org/2/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls来自文档或http://neopythonic.blogspot.com.au/2008/10/why-explicit-self-has-to-stay.html的一些例子.