Rumah  >  Artikel  >  pembangunan bahagian belakang  >  在Python中i += x和i = i + x什么时候不等

在Python中i += x和i = i + x什么时候不等

silencement
silencementasal
2019-05-23 11:04:584359semak imbas

在Python中i += x和i = i + x什么时候不等

增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知 i += 1 的效率往往要比 i = i + 1 更高一些(这里以 += 为例,实际上增强型赋值语句不仅限于此)。所以我们会乐此不疲的在任何能够替换普通赋值语句的地方使用增量型赋值语句,以此来优化代码。那么我们是否有想过,在什么情况下 i += 1 其实并不等效于 i = i + 1 !!

例一:使用增强型赋值语句:

d439989cb37b579dddf9a45bb195e47.png

例二:使用普通赋值语句:

372689e3c84aa8d640de9b23e8a6a51.png

上述两个例子中,将一个列表类型对象赋值给变量 a,再将变量 a 赋值给变量 b,此时 a、b 指向了同一个内存对象 [1, 2, 3]。然后分别应用增量赋值运算符和普通赋值运算符来操作变量 b。从最后的结果来看,例一中的 a、b 在进行运算后依旧指向了同一个内存对象。例二则相反,a、b 分别指向了不同的内存对象,也就是说在例二中隐式的新建了一个内存对象。

Atas ialah kandungan terperinci 在Python中i += x和i = i + x什么时候不等. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Python中是否存在三元运算符Artikel seterusnya:python元组怎么排序

Artikel berkaitan

Lihat lagi