这是我的代码:
class a():
def __init__(self):
self.a="aaa"
self.b='bbb'
aa=a()
x=['a','b','c']
for i in x:
print aa.get(i)
显示错误:
Traceback (most recent call last):
File "a.py", line 10, in <module>
print aa['a']
AttributeError: a instance has no attribute '__getitem__'
我能做什么,
感谢
更新
我想要打印'aaa'和'bbb'
答案 0 :(得分:2)
也许您正在寻找getattr(aa, i)
?
答案 1 :(得分:0)
您必须使用getattr
函数或为类a
定义__getitem__
方法(尽管要实现它,您可能最终会使用getattr
)。
看起来错误消息是由different code生成的,您尝试aa[i]
而不是aa.get(i)
,这意味着(除了示例不具代表性)定义{{1}虽然如果使用a.__getattr__
代替aa[i]
,它将无法使用示例代码。