我正在爲一個班級重載__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它足夠清楚你的意思 –