什么是python中的+ = mean,我为什么要使用它?

时间:2016-06-30 03:04:00

标签: python operators

我想知道+ =运算符在python中的作用。它用于什么以及为什么我会使用它?

4 个答案:

答案 0 :(得分:0)

a += b 

类似于:

a = a + b

它也适用于其他基本标志,例如:

a *= b

类似于:

a = a * b

答案 1 :(得分:0)

另一种用法是用于字符串,str + ='defg'与str = str +'defg'相同

str = 'abc'
str += 'defg'
print(str)
'abcdefg'

答案 2 :(得分:0)

这称为扩充赋值,它并不是Python语言所特有的。优点不仅仅是保存打字。有一个计算优势,因为TRUEs只评估x+=1 x两次评估x=x+1。见https://docs.python.org/2/reference/simple_stmts.html#augmented-assignment-statements

答案 3 :(得分:0)

许多人指出,x += yx = x + y类似。

一个显着的区别是+=运算符是"就地"操作。所以x += y实际上是"就地添加"。这意味着,它会修改对象' x'。

x = x + y添加' x'的值并且' y'并将结果(作为新对象)存储在' x'中,丢弃其先前的值。在处理对象,自定义数字类型或任何可在内部修改行为的用户定义类时,这变得更加重要。

+调用对象的__add__()方法 +=拨打__iadd__() (使用__radd__等可能会变得更加复杂,但我现在已经对此进行了修改。)

使用+=的一个很好的理由是:根据对象类型,x += y可以在特定情况下进行优化,但x = x + y必须创建一个新对象以重新分配给' X'