python - 定义类时引用 __init__(self) 函数中的 self 约定理解实例对象

标签 python class object instance

Python 新手,试图准确理解 __init_(self) 函数中的 self 指的是什么。

我正在使用的一些教程将 self 描述为

referring to the instance whose method was called.

对于 OOP 的新手来说,这并不是一个微不足道的陈述。

我已经阅读了很多关于 the whole backstory 的内容至于为什么你必须在 Python 中实际包含一个显式的 self,但需要一个简单的解释来说明 self 用于指代是什么意思实例对象 ——> 这是否意味着 self 实际上指的是您刚刚创建的类本身的对象?换句话说,self 以某种方式将内存中的类作为对象“启动”?

最佳答案

你的倒数第二句是正确的,但最后一句不正确。它与“启动”或创建对象完全无关——此时对象已经存在。

我认为您忽略了一个事实,即 self 用于所有方法,而不仅仅是 __init__,以引用该方法所属的特定对象。

例如,如果您有一个带有 name 属性的简单对象和一个名为 print_name 的方法,它可能如下所示:

def print_name(self):
    print(self.name)

所以这里的方法使用 self 来引用调用它的对象的属性。

关于python - 定义类时引用 __init__(self) 函数中的 self 约定理解实例对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056706/

相关文章:

python - 类自定义 __eq__ 作为哈希值的比较

javascript - 将两个数组合并为一个对象

Python 抽象基类 : Why doesn't abc prevent instantiation?

python - 为什么 pandas 在调用 pd.to_datetime() 时返回时间戳而不是 datetime 对象?

python - 如何使用Python从网页下载所有图像?

python - python 类可以返回其类的新实例吗?

C++ - 相互对象包含

javascript - 按键名过滤对象

javascript - 如何通过字符串与另一个对象访问对象属性

python - Python工作流程设计模式