这两个';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=-69

self.x
是Point类的一个属性
self.x
是Point类实例的一个属性我在提问之前做了一次搜索,我看到了那个问题和答案,我发现我仍然无法解决我的困惑。这就是为什么我要问。事实上,其中的一些解释对我来说很难理解。但这些答案对我来说很好。谢谢。我并不是说你没有做任何研究,我只是为你指出了一个很好的阅读起点,这样我的回答就有意义了,而不必解释什么是
self
。。。干杯。我错了,我应该澄清一下,我已经核实了这些问题。介意添加一点关于如何应用的解释吗?解释一切。现在还不清楚它是如何应用于这个问题的,特别是对于一个不太理解这个主题的用户来说。这个“自我”主题已经被许多其他人“解释”过了,所以如果你不喜欢我的,请尝试其他解释。可能的重复
emp1 = Employee("nick", 2000)

emp1.displayEmployee()      # self ! ! !