您需要意识到的第一件事是,
a += x它并不完全映射到
a.__iadd__(x),而是映射到
a =a.__iadd__(x)。请注意,文档特别指出,就地运算符返回其结果,而不必这样做
self(尽管实际上通常是这样)。这意味着
a[i]+= x简单地映射到:
a.__setitem__(i, a.__getitem__(i).__iadd__(x))
因此,添加从 技术上讲 是就地进行的,但仅在临时对象上进行。但是
__add__,创建的临时对象可能比调用的对象少一个。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)