我正在尝试向保存该类实例的类添加一个变量。以下是我的代码的缩短版本。
class Classy :
def __init__(self) :
self.hi = "HI!"
# "CLASSIES" variable holds instances of class "Classy"
CLASSIES = []
for i in xrange(0,4) :
CLASSIES.append(Classy())
运行代码后,我收到以下错误。
Traceback (most recent call last):
File "classy.py", line 6, in Classy
CLASSIES.append(Classy())
NameError: name 'Classy' is not defined
是否有另一种方法可以将类的实例添加到该类中的类/静态变量?
类主体在类创建之前执行。因此,您尝试在类存在之前实例化该类。您仍然可以将实例附加到类,但必须在类主体完成后创建它们,例如:
class Classy(object):
def __init__(self):
self.hi = "HI!"
CLASSIES = []
for i in xrange(4):
Classy.CLASSIES.append(Classy())
但是,我建议您首先认真思考是否真的需要这个有效的全局列表,以及是否需要它成为类对象的一部分。就我个人而言,我几乎从不做这样的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)