我试图创建一个透明的包装:一个将所有引用(除了少数几个)传递给它的一个字段的类。我有这个:
class Wrap():
def __init__(self,val,parent):
self.__dict__['val']=val
self.__dict__['parent']=parent
def SetValue(self,val):
self.__dict__['val']=val
def __getattr__(self,attr):
return self.__dict__['val'].__getattribute__(attr)
def __setattr__(self,attr,val):
self.__dict__['val'].__setattribute__(attr,val)
问题是,换行似乎没有通过__getitem__/__setitem__
次调用,当我尝试下标TypeError: 'Wrap' object does not support item assignment
时,我得到wrap
,尽管val
是可订阅的。是否有任何解决方法?