python - 做self.something = something的目的是什么

标签 python class self

这个问题在这里已经有了答案:





What is the purpose of the word 'self'?

(26 个回答)


4年前关闭。




我现在正在学习 python 并且我正在学习类(class)。我对 self 的目的感到困惑,更具体地说,为什么我必须编写 self.make = make 等。

这是我的例子:

class Car():

    def _init_(self, make, model, year):
        self.make = make
        self.model = model
        self.year = year

    def get_name(self):
        long_name = str(self.year) + ' ' + self.make + ' ' + self.model
        return long_name.title()

对我来说,这看起来像是您只是为自己设置了一个变量,这对我来说没有意义。这个声明的目的是什么?

最佳答案

self 代表该类的一个实例。所以在构造函数中 初始化 发生的事情是“self” == 调用构造函数时创建的对象副本。

你可以这样想,构造函数创建一个新对象。一旦我们有了一个新对象,我们想用它做一些事情,我们如何引用那个对象?作为自己。

重要提示:Self 可以是任何东西,也可以很容易地是fish,然后是fish.make、fish.model、fish.year。关于关键字 self 唯一重要的事情是它是构造函数的第一个参数。

关于python - 做self.something = something的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46188380/

相关文章:

python - flask 平面 : how to add (and show) emojis in markdown files?

python - 如何删除具有全部零值但不具有非零值的零的行

python - 用另一个二维数组索引 NumPy 二维数组

c++ - 如果类数组中的 vector 是动态 push_backed,内存如何工作?

具有三重连接的 MySQL 自表更新

python - 在 NetworkX 中绘制图形

python - 如何在类对象中为 `dtype`参数引发错误

当没有参数给出错误时,Python类自变量作为默认值

Objective-C:self = nil 不会将实例设置为空值

php - 为什么以及如何将 new 关键字与类的现有对象一起使用?