为什么在这个函数中使用self?

2024-09-27 09:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么我需要在这段代码中写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()

Tags: 对象函数代码selfclose参数def错误
1条回答
网友
1楼 · 发布于 2024-09-27 09:33:18
color='red'

创建一个名为color的类变量,因此该变量由Ferrari\u 2018类的所有实例共享

有了这个代码,你不可能有两辆不同颜色的法拉利

我想你想影响每辆车的定制颜色。 所以你需要一个实例变量,而不是类变量:

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

这样,你就可以写:

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

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

相关问题 更多 >

    热门问题