干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
可变类型和不可变类型
想要了解a += b和a = a + b结果是不是一样。要先知道什么是可变变量和不可变变量。
Python中
- 不可变类型:数字,字符串,元组
- 可变类型:列表,字典
不可变类型运算举例
不可变+=
不可变=+
不可变类型在进行+=和=+之后结果是一样的。
可变类型运算举例
可变+=
可变类型+=情况
可变=+
可变类型a=a+b情况
通过上图对比我们发现可变类型的变量在进行a += b和a = a + b时结果是不一样的。在进行+=操作时,a1和a2值同时改变,但是在进行先加后赋值时a1和a2不能同时改变。
大家一定要记住上面的结论
原理__add__和 iadd 的区别
- add 方法接收两个参数,返回它们的和,两个参数的值均不变。
- iadd 方法接收两个参数,第一个参数的值改变
可变类型使用加号操作(即a=a+b),调用__add__会返回一个新的对象,原来的对象不变。
示意图如下:
a1 = a1 + b 后a1会指向新的结果,但是a2指向不变
可变类型使用+=操作(即a+=b),调用__iadd__方法,第一个参数的值改变,即a1指向的本身内容发生改变,指向位置不发生改变。
示意图如下:
a1 += b后a1指向的内容发生改变,指向的位置不发生改变,所以a2的内容也会跟着a1一起改变
干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?相关推荐
- 干货丨重中之重:数据分析中常用指标及术语!
数据解读是数据分析师的基本功,如果不能充分理解数据分析中出现的各类指标及术语,数据分析工作将很难展开. 对于数据分析师来说,了解常用的分析指标和术语是做好数据解读的前提.下面,一起来了解下常用指标及术 ...
- python中的逻辑量有什么_python小白入门须知的9个基础知识丨纯干货
注释 单行注释:# #注释内容 print('123') #123 print('abc') #abc print("abc") #abc 多行注释:''' 或 "&qu ...
- 【干货】Python中“\n”、“\t”、“end”的用法
[干货]Python中"\n"."\t"."end"的用法 一级目录 二级目录 三级目录 一级目录 二级目录 三级目录
- 干货丨机器学习必备:前20名Python人工智能和机器学习开源项目
如今机器学习和人工智能已经变得家喻户晓,有很多爱好者进入了该领域.但是,什么才是能够进入该领域的正确路径呢?如何保持自己跟上该领域的发展步伐呢? 为了解决以上两个问题,可以通过利用高级专业人员每天使用 ...
- python的for循环语句_干货丨Python的循环语句基础讲解!
我们知道计算机程序语言一般是按照顺序执行的,那么编程语言就提供了各种控制结构,允许更复杂的执行路径,其中循环语句的作用就是允许我们执行一个语句或语句组多次. 在Python中循环语句的类型主要有以下几 ...
- python 中主线程结束 子线程还在运行么_「干货」python线程笔记
引言&动机 考虑一下这个场景,我们有10000条数据需要处理,处理每条数据需要花费1秒,但读取数据只需要0.1秒,每条数据互不干扰.该如何执行才能花费时间最短呢? 在多线程(MT)编程出现之前 ...
- 【干货】Python中几个有趣的函数
01 一用而过:lambda 很多语言都有匿名函数,python的匿名函数写作lambda,当需要实现一定功能而又不想"大张旗鼓"的def一个函数时,lambda就是最优的选择. ...
- [转载] python判断字符串中包含某个字符串_干货分享| Python中最常用的字符串方法
参考链接: Python中字符串string capitalize 字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串 ...
- python中的数据分析库有哪些_全网最全数据分析师干货-python篇
作者:胖熊酱 著作权归作者所有.AI开发者获得授权转载,禁止二次转载 https://zhuanlan.zhihu.com/p/79873148 注:封面图片来自网络 最近正在准备面试,故整理了很多面 ...
最新文章
- 2016政策与市场协同发力大数据,小公司如何搏杀BAT?
- python3+selenium入门08-鼠标事件
- 【java】【转】Java之classpath
- 找不到具有指定ID的对话框类解决方法
- php之自动加载(懒加载)
- 在vue项目中引用element-ui时 让el-input 获取焦点的方法
- 修改服务器ip 需要重启,linux服务器设置ip后需要重启吗
- edge如何导入html文件收藏夹,win10浏览器 edge浏览器收藏夹怎么导入?
- Meta Learning | 加了元学习之后,少样本学习竟然可以变得这么简单!
- 网管必须掌握的八个DOS命令
- python论文参考文献5篇_毕业论文参考文献
- redis HSCAN命令及jedis的hscan方法
- 吴晓慧讲述:“随手记安全吗”网贷平台“出清”利好行业发展
- M1芯片MacBook安装手机app
- 查看linux系统有哪些登陆用户,Linux_linux查看系统登录用户,Last login: Wed Jul 29 17:16:10 2009 fro - phpStudy...
- 数据科学家:人工智能领域的知识图谱理论总结
- 浅谈JAVA中Calendar类FirstDayOfWeek的问题
- cropper(裁剪图片)插件使用(案例)
- python时间函数纳秒_python 纳秒
- android获取到电信的手机号码,Android基站信息获取以及Sim卡相关信息获取