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

标签 python python-3.x object parameters self

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

最佳答案

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也有自己的属性颜色。

关于python - 为什么在这个函数中使用self?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59058823/

相关文章:

javascript - 如何从构造函数中的函数返回对象属性?

c++ - C++中,为什么返回不同对象私有(private)变量的指针会导致段错误?

python - 如何在 Python 上使用 Selenium 从网站上抓取全名?

python - 使用抽象基类仅用于文档目的

python - 如何在 Python 中使用 sys.exit()

python - 使用python和RSA算法的加密聊天应用程序

java ArrayList包含不同的对象

python - 如何计算周差并在 python pandas 中添加缺少的周数

Python缓存列表

python - 是否可以一起使用 Python、AJAX 和 CGI