网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Python中运算符+=表示什么-创新互联

这篇文章主要介绍Python中运算符+=表示什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

10年积累的网站制作、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有宝丰免费网站建设让你可以放心的选择与我们合作。

前言:

今天在运行之前写的一个Python脚本时,发生了一个奇怪的现象(我怎么老遇到奇怪的现象~~)。当时的代码大概长这样:

a = [1, 2, 3]
b = [4, 5, 6]
# ...一大段逻辑
c = a
c += b
# ...一大段逻辑
# 在这里,a变成了[1, 2, 3, 4, 5, 6]

首先,上面的代码一个函数过于长了,实在不像话

当时的情景是这样的,程序并没有想我预期中一样运行。我找了半天,没有找到对a变量的修改或赋值操作。

最终,发现了藏在中间的c变量,因为是列表对象的引用赋值,所以直接修改了a变量。我将两个变量的地址打印出来,确实是这样的。

Python中运算符+=表示什么

Python中运算符+=表示什么

本来,查到这里基本上破案了。也应该没有后续了

但我上网查了一下,有人说用 =+就不会出现这种情况,我轻蔑的笑了,有什么区别么?不信邪的我试了一下。

Python中运算符+=表示什么

Python中运算符+=表示什么

这是什么原因呢?

深究:

根据我的推测,必然是+=操作改变的是原对象,=+操作返回了新的对象。尝试一下:

Python中运算符+=表示什么

Python中运算符+=表示什么

Python中运算符+=表示什么

Python中运算符+=表示什么

由此即可得知。

解惑:

那为什么Python会在 +=操作时,直接修改原对象。而=+操作却要返回新的对象呢?

简单推测一下,可能Python的作者认为,+=操作是要将后边的值加到自身上。而+则是两个值的运算操作。根据表达是也可以看出:

a += b # 这里只涉及两个变量,将b的内容直接加到a上

c = a + b # 这里涉及到了三个变量,将后两者内容相加后赋值给新的变量

最后,既然+=和=+的实现不同,那么同理列表的-=和=-、*=和=*、/=和=/的实现也必然不同。然而并非如此,list没有实现减法和除法的操作。但乘法确实也是这样。

以上是Python中运算符+=表示什么的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


新闻名称:Python中运算符+=表示什么-创新互联
文章源于:http://bjjierui.cn/article/dgdhph.html

其他资讯