为什么在此功能中使用self?

时间:2019-11-26 20:23:30

标签: python python-3.x object parameters self

为什么尽管有效,我仍需要在此代码中写self

但是对于我的讲师来说,它没有用,给了他一个错误,意味着该函数没有接受参数,而您给了它一个错误,那么当他接受一个对象并且他解决了我将自我作为参数的错误时,它就发生了open_door()close_door()函数中,但是我没有发生错误

class ferrari_2018():
   color='red'
   def open_door():
      print('open door')
   def close_door():
      print('close door')

x=ferrari_2018
x.open_door()

1 个答案:

答案 0 :(得分:0)

color='red'

创建一个名为color的类变量,因此该变量由Ferrari_2018类的所有实例共享。

使用此代码,您不能拥有2种颜色不同的法拉利车。

我想您想影响每辆车的自定义颜色。 因此,您需要一个实例变量,而不是一个类变量:

class ferrari_2018():
  def __init__(self, color):
    self.color = color

这样,您可以编写:

x1 = Ferrari_2018('blue')
x2 = Ferrari_2018('yellow')

其中x1具有自己的属性颜色(蓝色),x2也具有自己的属性颜色。