这两个'x'在这个Python代码中意味着什么:self.x = x?

sta*_*ner 0 python self

我对以下代码感到困惑:

class Point():
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y
Run Code Online (Sandbox Code Playgroud)

我不明白x代码中的那两个是什么self.x = x意思.

dda*_*dda 10

self.x是Point类的属性.因此,如果p是Point类的一个实例,那么p.x就是self.x你在上面看到的(self是对你定义的类的引用).第二个x是在初始时传递的参数def __init__(self, x=0, y=0):.请注意,如果您未传递任何内容,则默认为零.

  • >`self.x`是Point类的一个属性<better:>`self.x`是Point类实例<的一个属性 (2认同)

eum*_*iro 7

第一个x是属性self,而第二个进入方法作为第二个参数.

你可以把它写成:

class Point():
    def __init__(self, new_x=0, new_y=0):
        self.x = new_x
        self.y = new_y
Run Code Online (Sandbox Code Playgroud)

并看看哪个属于哪一个.