【发布时间】:2012-10-07 23:34:45
【问题描述】:
我在 python 的一个类中的列表有问题。这是我的代码:
class Residues:
def setdata(self, name):
self.name = name
self.atoms = list()
a = atom
C = Residues()
C.atoms.append(a)
类似的东西。我收到一条错误消息:
AttributeError: Residues instance has no attribute 'atoms'
【问题讨论】:
-
正确缩进你的代码。
-
附带说明,如果您使用的是 Python 2.x,您应该从“对象”继承您的类,否则将来会很难找出错误行为。
-
@jsbueno:我强烈怀疑这一点。顾名思义,老式课程已经存在了很长时间,并且不知何故人们已经设法弄清楚他们的“不当行为”。
-
@martineau:我认为不再使用它们是不正确的:描述符不起作用,mro(因此调用“super”)不起作用等等。没有理由不使用新样式类,除非你的程序需要在 Python 2.1 中运行
-
@martineau:从今天开始检查 -I-won't-call-this-a-cocidence 问题:stackoverflow.com/questions/12939288/confusion-with-properties
标签: python class attributeerror