class Func:
d = dict()
def __setitem__(self, key, value):
# xxx object does not support item assignment
self.d[key] = value
return self
def __getitem__(self, item):
# xxx object is not subscriptable
return self.d.get(item)
def __setattr__(self, key, value):
# 调用这个方法时触发
# setattr(self, key, value)
return self
def __getattr__(self, item):
# 调用这个方法时触发
# getattr(self, item, None)
return self
- xxx object does not support item assignment
这种错误通常是因为一个对象本身不能通过键方式设置对象属性值,典型特征字典类型或实现__setitem__方法的对象,都支持键方式操作对象
- xxx object is not subscriptable
这个错误同上,只不过这次是获取操作,上面是赋值操作造成的错误