Python:list.extend和list .__ iadd__之间的区别

Python:list.extend和list .__ iadd__之间的区别,第1张

Python:list.extend和list .__ iadd__之间的区别

+=
使对象机会 就地更改对象。但这取决于的类型
x
,这并不意味着对象已就地更改。

这样,

+=
仍然需要重新分配
x
;要么
x.__iadd__()
返回
x
或新对象返回;
x += something
确实翻译成:

x = x.__iadd__(something)

由于

+=
包含作业,因此在中
x
标记为本地
g()

x.extend()
另一方面,这不是一项任务。程序员已决定
x
始终是带有
.extend()
方法的对象,并直接使用它。Python看不到分配,
x
并标记为全局。



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

原文地址: https://www.outofmemory.cn/zaji/5646994.html

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

发表评论

登录后才能评论

评论列表(0条)

保存