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)不为人知的秘密所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)