打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python中x+=y和x=x+y的区别_x+=y是什么意思

问题: python中x+=y和x=x+y的区别是什么?
解答:
1、对于不可变对象而言,没有区别,不论是x+=y还是x=x+y,新的x值都是保存在新的内存中,与原x不同。

2、对于可变对象而言,x=x+y产生的新的x保存在新的内存中,而x+=y是原地操作。另外对于列表而言,原地操作也可以使用x[:]=x+y,这意味着将原来x中的每个元素值改变,而不改变x的内存地址。


原因:
+调用的是add方法,add方法会将相加之后的值赋值给新变量。
+=调用的是iadd方法,iadd方法会进行原地操作。不可变类型的变量的+=不进行原地操作的原因是不可变类型是没有iadd方法的,因此会重载add方法。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python 表达式 i += x 与 i = i + x 等价吗?
你知道Python中a = b和a = a b的结果是不一样的吗?
【Python面试】 说说Python可变与不可变数据类型?
你学习 Python 的时候,用到舒服姿势了么?
Python新式类和经典类的区别?Python入门
Python中的a+=b和a=a+b之间的区别是什么?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服