简单回顾



在我们使用Python的过程中很多时候会用到+运算,我们之前也做过相应介绍,例如:





另外,在字符串的拼接也同样发挥这重要的作用,例如:





同样的,在列表中也能使用,例如:




简单说明



实例1:

num = 123
num = num + 4
print num

#   输出
127



实例2:

num = 123
num += 4
print num

#   输出
127



实例3:

u = [1, 2]
u = u + [3, 4]
print(u)


[1, 2, 3, 4]



v = [1, 2]
v += [3, 4]  # 列表的+被重载了, 左右操作数必须都是iterable对象, 否则会报错
print(v)


[1, 2, 3, 4]

看起来结果都一样, 然后我们改下代码再看下:


实例4:

u = [1, 2]
print('id:',id(u))
u = u + [3, 4]
print('id:',id(u))

id: 139968928935112
id: 139968928935240

---------------------------------
v = [1, 2]
print('id:', id(v))
v += [3, 4]  # 列表的+被重载了, 左右操作数必须都是iterable对象, 否则会报错
print('id:', id(v))

id: 139825923734728
id: 139825923734728



虽然结果一样, 但是通过id的值表示, 运算前后, 第一种方法对象是不同的了。

总结

现在我们大概明白了+=实际上是干嘛了: 它应该能算是一个加强版的+, 因为它比+多了一个写回本身的功能.不过是否能够写回本身, 还是得看对象自身是否支持。

right