这似乎是一个简单的问题,但似乎没有解决我的特定问题的答案,这就是为什么 init 方法永远不会实际启动类实例变量& #39; listlist'
class PointsList():
def _init_(self):
self.listlist = [None]
def addtolist(self,item):
self.listlist.append(item)
def getlist(self):
return self.listlist
a = PointsList()
a.addtolist('Scarlet')
print a.getlist()
运行上面的代码给了我: AttributeError:PointsList实例没有属性' listlist'
当“添加者”出现时,错误会追溯到第5行。方法尝试将项目添加到明显不存在的列表列表中。实例变量。
我已多次检查缩进但看起来似乎是合理的。我的Python安装有问题吗?我正在使用Python v2.7.5(尚未获得2.7.6)和Spyder IDE v2.2.0
答案 0 :(得分:2)
Python特殊方法在开头和结尾使用两个下划线;您需要为初始值设定项__init__
命名,而不是_init_
:
class PointsList():
def __init__(self):
self.listlist = [None]
下划线字符通常显示为连接形成较长的一行,但在init
之前有两个下划线,之后有两个下划线。