Python 中“=”和“+=”有什么区别?

ibi*_*808 1 python operators

=和 和有什么区别+=

我一直在尝试,但没有发现差异。

cda*_*rke 9

与许多其他语言类似,+=是一种“快捷方式”。

x = y
Run Code Online (Sandbox Code Playgroud)

将对右侧对象的引用分配给左侧的名称。

x += y
Run Code Online (Sandbox Code Playgroud)

从概念上讲,将对象或右侧尺寸添加到左侧引用的对象中。概念上与以下相同:

x = x + y
Run Code Online (Sandbox Code Playgroud)

我说“概念上”是因为+=操作符可以根据左侧对象的类执行不同的操作。例如,对于整数,它只是进行添加,对于字符串 ( str),它会附加到字符串,对于 a,list它会在列表的右侧添加一个新元素。

类可以实现__iadd__()特殊的函数来执行所需的操作。 是增强分配+=的成员,请参阅http://legacy.python.org/dev/peps/pep-0203/


Eve*_*lse 5

在 python 中,该短语x=4会将值分配给4to x。但是,该短语x+=4将增加到4的当前值x。例如:

x = 3
print x #will print 3
x += 2
print x #will print 5
Run Code Online (Sandbox Code Playgroud)