您何时在Python中使用“自我”?
发布于 2021-01-29 19:34:48
self
在Python中(在同一模块中)引用成员函数时,应该使用吗?
更笼统地说,我想知道何时需要使用它self
,不仅用于方法,还用于变量。
关注者
0
被浏览
131
1 个回答
-
添加答案是因为Oskarbi的答案不是明确的。
您
self
在以下情况下使用:- 定义实例方法。在实例上调用方法时,它将作为第一个参数自动传递,并且是在其上调用该方法的实例。
- 从实例方法内部引用 类或实例 属性。您可以使用它来调用方法,也可以从该方法内部在调用该方法的实例上访问名称(变量)。
你 不 使用
self
的时候- 您通常调用一个实例方法。以奥斯卡比(Oskarbi)的示例为例,如果您这样做
instance = MyClass()
,则称呼MyClass.my_method
为instance.my_method(some_var)
not asinstance.my_method(self, some_var)
。 - 您从实例方法 外部 但在类定义内部引用类属性。
- 您在静态方法中。
这些不只是何时不使用自我的例子。Dos是您 应该 使用的时间。