numpy的就地 *** 作(例如,“ + =”)如何工作?

numpy的就地 *** 作(例如,“ + =”)如何工作?,第1张

numpy的就地 *** 作(例如,“ + =”)如何工作?

您需要意识到的第一件事是,

a += x
它并不完全映射
a.__iadd__(x)
,而是映射到
a =a.__iadd__(x)
。请注意,文档特别指出,就地运算符返回其结果,而不必这样做
self
(尽管实际上通常是这样)。这意味着
a[i]+= x
简单地映射到:

a.__setitem__(i, a.__getitem__(i).__iadd__(x))

因此,添加从 技术上讲 是就地进行的,但仅在临时对象上进行。但是

__add__
,创建的临时对象可能比调用的对象少一个。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5644395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存