2024-05-06 22:36:35 发布
网友
我想知道在python中+=操作符是做什么的。它是用来做什么的?我为什么要用它?在
正如许多人所指出的,x += y与{}相似。在
x += y
一个显著的区别是+=运算符是一个“就地”操作。所以x += y实际上是“就地添加”。也就是说,它修改了对象“x”。在
+=
而x = x + y将“x”和“y”的值相加,并将结果(作为一个新对象)存储在“x”中,丢弃其先前的值。在处理对象、自定义数值类型或任何可以在内部修改行为的用户定义类中,这一点变得更加重要。在
x = x + y
+调用对象的^{}方法。+=调用^{}。 (它可能会变得更复杂,使用__radd__等等,但我暂时不谈了。)
+
__radd__
使用+=的一个很好的理由是:根据对象类型,x += y可以在特定情况下进行优化,但是x = x + y必须创建一个新对象来重新分配给“x”。在
a += b
类似于:
它也适用于其他基本标志,例如:
a *= b
a = a * b
另一个用法是字符串,str+='defg'与str=str+'defg'相同
str = 'abc' str += 'defg' print(str) 'abcdefg'
正如许多人所指出的,}相似。在
x += y
与{一个显著的区别是
+=
运算符是一个“就地”操作。所以x += y
实际上是“就地添加”。也就是说,它修改了对象“x”。在而
x = x + y
将“x”和“y”的值相加,并将结果(作为一个新对象)存储在“x”中,丢弃其先前的值。在处理对象、自定义数值类型或任何可以在内部修改行为的用户定义类中,这一点变得更加重要。在+
调用对象的^{+=
调用^{(它可能会变得更复杂,使用
__radd__
等等,但我暂时不谈了。)使用
+=
的一个很好的理由是:根据对象类型,x += y
可以在特定情况下进行优化,但是x = x + y
必须创建一个新对象来重新分配给“x”。在类似于:
^{pr2}$它也适用于其他基本标志,例如:
类似于:
另一个用法是字符串,str+='defg'与str=str+'defg'相同
相关问题 更多 >
编程相关推荐