在 python 中 a += b 的行为方式并不总是与 a = a + b 相同,相同的操作数在不同的条件下可能会给出不同的结果。但要了解它们为何表现出不同的行为,您必须深入研究变量的工作原理。
所以首先,你需要知道幕后发生了什么。
创建新变量:
- a = 10
- print(" id of a : ", id(10) ," Value : ", a )
输出 :
id of a : 11094592 Value : 10
在上面的示例中,值 10 被存储在内存中,并且它的引用被分配给 a。
修改变量:
- a = 10 # 为变量赋值创建新对象
- print(" id of a : ", id(a) ," Value : ", a )
-
- a = a + 10 # 修改变量的值创建新对象
- print(" id of a : ", id(a) ," Value : ", a )
-
- a += 10 # Modifying value of variable creats new object
- print(" id of a : ", id(a) ," Value : ", a )
输出 :
- id of a : 11094592 Value : 10
- id of a : 11094912 Value : 20
- id of a : 11095232 Value : 30
每