是的,它们是编译成不同字节码的不同运算符:>>> import dis

>>> def test1(x):

... x = x + 1

...

>>> def test2(x):

... x += 1

...

>>> dis.dis(test1)

2 0 LOAD_FAST 0 (x)

3 LOAD_CONST 1 (1)

6 BINARY_ADD

7 STORE_FAST 0 (x)

10 LOAD_CONST 0 (None)

13 RETURN_VALUE

>>> dis.dis(test2)

2 0 LOAD_FAST 0 (x)

3 LOAD_CONST 1 (1)

6 INPLACE_ADD

7 STORE_FAST 0 (x)

10 LOAD_CONST 0 (None)

13 RETURN_VALUE

在这种情况下,由于int是不可变的,所以不会有太大的区别。理论上,它们可以以不同的方式实现(取决于解释器),但这不会改变它对值的操作方式。

一般来说,它们可以被实现来做完全不同的事情(+通过魔法方法实现__add__()和+=使用__iadd()__)-例如,在大多数可变容器中,如果有不同的名称引用同一对象,则会产生巨大的差异:>>> x = []

>>> y = x

>>> x += [1]

>>> y

[1]

>>> x = x + [1]

>>> y

[1]

>>> x

[1, 1]

您可以看到,当我们将x赋给y时,它们都指向同一个列表。当我们使用+=时,我们扩展列表并同时更改。当我们给x分配一个新值时,y仍然指向原始值并且保持不变。

在python中、x=x+1是合法语句吗_Python x=x+1和x+=1之间的差异相关推荐

  1. python中跳过本次循环的语句是_Python跳过for循环

    首先请注意,我是Python的初学者.获取一个当前在ArcGIS环境中处理Python的类.我目前的项目是一个简单的程序,创建文件和复制其他文件到他们.然而,作业的一部分是让print语句陈述发生的情 ...

  2. Python中的条件选择和循环语句

    Python中的条件选择和循环语句 同C语言.Java一样,Python中也存在条件选择和循环语句,其风格和C语言.java的很类似,但是在写法和用法上还是有一些区别.今天就让我们一起来了解一下. 一 ...

  3. python中for循环和while循环的区别_Python中for循环语句和while循环语句有何不同

    原标题:Python中for循环语句和while循环语句有何不同 前面两期文章已经为大家分别讲解,for循环语句和while循环语句,两种都是化繁琐为简单的Python循环语句,选择困难症已经不知道该 ...

  4. Python教学 | Python 中的分支结构(判断语句)【附本文代码和数据】

    查看原文:[数据seminar]Python教学 | Python 中的分支结构(判断语句)[附本文代码和数据] Part1引言 上期文章我们学习了组合数据类型字典以及元组,这标志着 Python 基 ...

  5. Python中如何优雅地使用switch语句

    文章目录 Python中如何优雅地使用switch语句 案例一(简单情况) 案例二(带条件判断) 版权声明:本文为博主原创文章,转载请注明原文出处! 写作时间:2019-03-07 13:49:45 ...

  6. python中如何判断两个字符串是否相等_python怎样判断两个字符串是否相同

    原标题:python怎样判断两个字符串是否相同 python中,判断两个字符串是否相等或一样,可以使用==或者is来判断:判断不一样可以使用 is not. 示例 使用注意事项 1.有时候两个字符串打 ...

  7. python中字典的value可以为任意对象_Python对象作为字典值

    所以我有以下代码,其中字典的值是一个对象,该对象的关键是对象中的一个项目: class MyObject(): def getName(self): return self.name def getV ...

  8. python中内存管理机制一共分为多少层_python 内存管理机制

    内存管理机制 ​python中万物皆对象,python的存储问题是对象的存储问题,并且对于每个对象,python会分配一块内存空间去存储它 ​Python的内存管理机制:引入计数.垃圾回收.内存池机制 ...

  9. python中字典的value可以为任意对象_Python学习入门(13)—字典

    (本号正在连续推出以Python官网文档为主线的系统学习Python的系列文章或视频,感兴趣的朋友们欢迎搜索关注.在这里学习Python事半功倍!本文及后续文章如无特别声明均以Windows平台作为演 ...

最新文章

  1. Java中的String,StringBuilder,StringBuffer三者的区别
  2. 低精度神经网络:从数值计算角度优化模型效率
  3. 计算机怎么更改用户头像像,Win10系统电脑账户头像怎么改成系统默认状态?
  4. spring可用于数据层吗_Spring XD用于数据提取
  5. Jsoup根据URL加载一个Document
  6. 2020年的风口来了!传统企业如何做数字化转型?
  7. Django------多表操作
  8. JavaScript的预编译过程分析
  9. 标定学习笔记(五)-- Halcon手眼标定例程:Hand-eye-Calibration with a moving cam
  10. 视频:使用chrome谷歌浏览器下载任意网页上的视频
  11. 二进制与十六进制转换对照表
  12. HHL论文及代码理解(Generalizing A Person Retrieval Model Hetero- and Homogeneously ECCV 2018)...
  13. Lattice FPGA 使用指南4 - 全局复位网络GSR的使用
  14. SQL(16)--获取员工当前薪水比其manager薪水还高的相关信息
  15. 代码质量保证体系(下)
  16. adb指令禁用软件_Android免root禁用系统应用(adb停用安卓系统应用)
  17. atm机编程java_JAVA语言实现的简单ATM提款机系统_亢先生02070708的博客-CSDN博客
  18. 如何监测内存泄漏(引用自网络)
  19. Nagiosxi的一个RCE漏洞利用脚本
  20. 第二章.操作系统基本原理

热门文章

  1. Python open函数详解
  2. VR App下载量暴增,移动VR前景看似一片光明?
  3. python transpose函数_转载:numpy中transpose和swapaxes函数讲解
  4. 计算机网络(考研、期末)复习指导(概述、物理层、数据链路层)
  5. 配置python查看网易模拟器app反编译函数hook
  6. 快速构建页面APP程序员的人生计划
  7. CSDN下载 | CSDN免积分下载 | CSDN积分攻略
  8. 吐槽 依赖倒置原则/DIP
  9. iPhone手机怎么把提醒事项显示在桌面上
  10. Java中找不到符号是啥意思,什么会导致Java中找不到符号错误?