x = x + 1和x + = 1之间的Python差异

x = x + 1和x + = 1之间的Python差异,第1张

x = x + 1和x + = 1之间的Python差异

是。根据类型的

x
编码方式,简短形式可以选择就地修改x,而不是创建一个表示和的新对象,然后将其重新绑定为相同的名称。如果您有多个变量都引用同一个对象(例如带有列表的变量),则这意味着:

>>> a = b = []>>> a += [5]>>> a[5]>>> b[5]>>> a = a + [5]>>> a[5, 5]>>> b[5]

这是因为在幕后,运营商调用不同的魔术方法:

+
电话
__add__
__radd__
(这是预期不对其进行修改其参数),并
+=
尝试
__iadd__
(这是不允许修改
self
,如果它感觉就像是)回落至之前
+
如果逻辑
__iadd__
ISN不在那里。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存