【发布时间】:2015-09-22 13:20:44
【问题描述】:
关于这段代码我有两个问题:
class Enemy
def __init__ (self, x):
self.energy=x
jason=Enemy(5)
为什么在创建函数和实例变量时必须使用
self?使用它的目的是什么?当我们创建
jason对象时,我们为其分配了5的生命周期,即Enemy(5)。但是,类名可以在里面取变量吗?或者是__init__功能使它成为可能? (当我们声明类时,我希望类似class Enemy (x))。
【问题讨论】:
-
self引用当前对象。 -
docs.python.org/3/tutorial/classes.html。请注意,由于缺少冒号,因此您的代码无论如何都不会工作。
-
但如果我不创建 jason,我就没有对象。那时 self 指的是什么?
-
@ArdaBoğa 如果你没有创建
jason,你就不会调用Enemy.__init__,所以没关系!声明一个方法就像声明一个函数 - 你现在定义参数,稍后将传递给它。 -
谢谢,现在说得通了。