以下是名为Container的类中的一些代码
具有内置类型的额外功能的多功能数据值存储
有。 __iadd__
函数无论出于何种原因,self
等于None
。然而,
__add__
函数似乎工作正常,other
参数
不受影响。这个问题令我困惑,任何帮助都表示赞赏。
class Container():
def __init__(self,list0,list1):
self.list0,self.list1=list0,list1
self.pairs=zip(list0,list1)
self.items=dict(self.pairs)
...
def __add__(self,other):
dictionary=self.items
other = other if type(other)==dict else other.items
for k in other.keys():
dictionary[k]=other[k]
return dictionary
...
def __iadd__(self,other):
self.items=self+other
# >>> c2 = Container([11,12,13],['k','l','m'])
# >>> print container + c2
# {0: 'j', 1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e', 6: 'f', 7: 'g', 8: 'h', 9: 'i', 11: 'k', 12: 'l', 13: 'm'}
#
# Note: at this time the container does not equal None.
#
# >>> container+=c2
# >>> print container
# None