我正在为一个班级重载__iadd__
魔法,除非我自己回来,否则会失败,并且出现错误,我不能添加NoneType
和str
。我可以从错误推断,因为我不返回self
,隐式返回的None
不能被添加。我正在执行一个就地更换的高手,所以我对引擎盖下发生的事情更感兴趣。下面是增加了字典对象列表的样品的方法:为什么有必要在魔术方法重载中返回“自我”?
class StageChanges(LeverObject):
def __init__(self):
super().__init__('stage_changes')
self.stage_changes = []
def __iadd__(self, other):
self.stage_changes.extend(other)
return self
压倒你的意思?编辑:nvm它足够清楚你的意思 –