此程序有效,但当我删除 getattr 或 setattr 时,问题就出现了,找不到ID,名称。 为什么会发生这种情况,程序何时运行 setattr ?我使用了调试模式,但是它没有进入该功能。
感谢!!!
class E(dict):
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Model' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
e = E(id='123', name='abc')
print(e.id)
print(e.name)
答案 0 :(得分:-1)
从 dict 继承的每个对象必须实现__ getattr __ __和__ setattr __,__ setattr