这两个';x';在这个Python代码中的意思是:self.x=x?
我被下面的代码弄糊涂了:这两个';x';在这个Python代码中的意思是:self.x=x?,python,self,Python,Self,我被下面的代码弄糊涂了: class Point(): 定义初始化(self,x=0,y=0): self.x=x self.y=y 我不明白codeself.x=x中的这两个x是什么意思。第一个x是self的属性,而第二个作为第二个参数进入方法 你可以这样写: class Point(): def __init__(self, new_x=0, new_y=0): self.x = new_x self.y = new_y 并查看哪个属于哪个。x是P
class Point():
定义初始化(self,x=0,y=0):
self.x=x
self.y=y
我不明白code
self.x=x
中的这两个x
是什么意思。第一个x
是self
的属性,而第二个作为第二个参数进入方法
你可以这样写:
class Point():
def __init__(self, new_x=0, new_y=0):
self.x = new_x
self.y = new_y
并查看哪个属于哪个。x是Point类的一个属性。因此,如果p是Point类的一个实例,那么
p.x
就是您在上面看到的self.x
(self是您定义的类的引用)。第二个x
是在初始化时传递的参数def\uuu init\uuuuu(self,x=0,y=0):
。请注意,如果您没有通过任何测试,则默认为零。首先阅读此问题并回答:。对于您的问题,第一个self.x
是self
的属性,第二个x
是您在构造函数中得到的点的参数
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary # self ? ? ?
def displayEmployee(self):
salary = -69
print self.name, self.salary,salary # self ? ? ?
运行:
输出:
尼克2000-69
“赛尔夫”解释道:self.salary=2000,salary=-69self.x
是Point类的一个属性self.x
是Point类实例的一个属性我在提问之前做了一次搜索,我看到了那个问题和答案,我发现我仍然无法解决我的困惑。这就是为什么我要问。事实上,其中的一些解释对我来说很难理解。但这些答案对我来说很好。谢谢。我并不是说你没有做任何研究,我只是为你指出了一个很好的阅读起点,这样我的回答就有意义了,而不必解释什么是self
。。。干杯。我错了,我应该澄清一下,我已经核实了这些问题。介意添加一点关于如何应用的解释吗?解释一切。现在还不清楚它是如何应用于这个问题的,特别是对于一个不太理解这个主题的用户来说。这个“自我”主题已经被许多其他人“解释”过了,所以如果你不喜欢我的,请尝试其他解释。可能的重复
emp1 = Employee("nick", 2000)
emp1.displayEmployee() # self ! ! !