def __iadd__(self, other):
    print('extending other %r' % other)
self.items.extend(other.items)
print('returning self to complete +=')
return self

def __repr__(self):
    return self.items.__repr__()
demo = AddIDemo([1, 2])
demo += AddIDemo([3, 4])
demo
t = 1, 2, demo
t
t[2] += AddIDemo([5, 6])
t
Tuple assignment in Python, Is this a bug in Python?