我想知道+ =运算符在python中的作用。它用于什么以及为什么我会使用它?
答案 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 += y
与x = x + y
类似。
一个显着的区别是+=
运算符是"就地"操作。所以x += y
实际上是"就地添加"。这意味着,它会修改对象' x'。
x = x + y
添加' x'的值并且' y'并将结果(作为新对象)存储在' x'中,丢弃其先前的值。在处理对象,自定义数字类型或任何可在内部修改行为的用户定义类时,这变得更加重要。
+
调用对象的__add__()
方法
+=
拨打__iadd__()
(使用__radd__
等可能会变得更加复杂,但我现在已经对此进行了修改。)
使用+=
的一个很好的理由是:根据对象类型,x += y
可以在特定情况下进行优化,但x = x + y
必须创建一个新对象以重新分配给' X'