Python x += y vs x = x + y(x+=1x=x+1)不为人知的秘密

Python x += y vs x = x + y(x+=1x=x+1)不为人知的秘密,第1张

概述Python x += y vs x = x + y(x+=1/x=x+1)不为人知秘密

Python x += y vs x = x + y不为人知的秘密

In [1]: x=1In [2]: x+=1In [3]: print(x)2In [4]: x=1In [5]: x=x+1In [6]: print(x)2In [7]: x=[1]In [8]: x+=[2]In [10]: print(x)[1, 2]In [11]: x=[1]In [12]: x=x+[2]In [13]: print(x)[1, 2]

大家注意:两者之间差别在那里?

x=x+y代码示例:

In [14]: x=[1]In [15]: print(ID(x))1983912855688In [16]: x=x+[2]In [17]: print(ID(x))1983912941192

x+=y代码示例:

In [18]: x=[1]In [19]: print(ID(x))1983912973320In [20]: x+=[2]In [21]: print(ID(x))1983912973320

x=x+y指向一个新的对象,后者x+=y在原来的对象是修改,当然那种效果是正确的取决于应用场景。至少应该知道,二者其实是不一样

总结

以上是内存溢出为你收集整理的Python x += y vs x = x + y(x+=1/x=x+1)不为人知的秘密全部内容,希望文章能够帮你解决Python x += y vs x = x + y(x+=1/x=x+1)不为人知的秘密所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: https://www.outofmemory.cn/langs/1198276.html

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

发表评论

登录后才能评论

评论列表(0条)