可能重复:
python 'self' explained
我是Python的初学者。当我怀疑自己无法向自己解释时,我正在阅读关于类和迭代器的教程。下面的程序文本是计算面积的类的一部分。
def __init__(self,len,wid):
self.length=len
self.width=wid
def calculate_area(self)
return self.length*self.width
def print_area(self)
print 'Area='+str(self.calculate_area())
我无法理解为什么函数的参数列表具有“self”?它的作用是什么?为什么每个变量都用“self”解决?
答案 0 :(得分:2)
这与C ++中的这个指针类似(如果你来自C ++背景) 典型的用法是,如果存在歧义,可以由self引用对象的成员。 e.g。
def calculate_area(self, length)
return self.length*self.width
以上长度是calculate_area函数的参数。 如果对象也有长度成员,则可以使用self.length
解析它请参阅现有答案:
答案 1 :(得分:0)
我真的不知道我在Python世界上太新了,但我认为Python不像C#或Java那样提供this
值,所以这就是Python的机制用于在其类中定义自己。
无论如何,你可以看到你不需要在函数调用中传递self
as参数,因为Python适合你。
这是我的理论,但我也有兴趣了解它如果有人可以多说一点,我想我们会非常感激。
见到你!