^=、-=和+;=Python中的符号

^=、-=和+;=Python中的符号,python,operators,symbols,Python,Operators,Symbols,我对Python很有经验,但最近,当我在查看示例测试的解决方案时,遇到了操作符-=,+=,^=,我无法理解它们的作用。也许有人能解释一下它们的使用环境吗?就像几乎所有现代语言一样,python也有 因此,在执行一些算术或逻辑运算后,每当您要为变量赋值时,它们都可以使用它们,这两个(赋值和运算)都以简洁的方式表示在一条语句中 当您计算X=X+Y时,实际上是将X和Y的总和返回到一个新变量中,在您的示例中,该变量覆盖了X的先前值。使用X+=1形式的赋值运算符时,值1直接与当前值X相加,而不在新变量中返

我对Python很有经验,但最近,当我在查看示例测试的解决方案时,遇到了操作符
-=
+=
^=
,我无法理解它们的作用。也许有人能解释一下它们的使用环境吗?

就像几乎所有现代语言一样,python也有 因此,在执行一些算术或逻辑运算后,每当您要为变量赋值时,它们都可以使用它们,这两个(赋值和运算)都以简洁的方式表示在一条语句中


当您计算
X=X+Y
时,实际上是将
X
Y
的总和返回到一个新变量中,在您的示例中,该变量覆盖了
X
的先前值。使用
X+=1
形式的赋值运算符时,值
1
直接与当前值
X
相加,而不在新变量中返回结果。请看下面的代码:

>>> V = np.arange(10)
>>> view = V[3:]        # view is just a subspace (reference) of the V array
>>> print(V);print(view)
[0 1 2 3 4 5 6 7 8 9]
[3 4 5 6 7 8 9] 
>>> view = view + 3     # add view to a constant in a new variable 
>>> print(V);print(view)
[0 1 2 3 4 5 6 7 8 9]
[ 6  7  8  9 10 11 12]
>>> view = V[3:]
>>> view += 3           # here you actually modify the value of V
>>> print(V);print(view)
[ 0  1  2  6  7  8  9 10 11 12]
[ 6  7  8  9 10 11 12]

您还可以查看
numpy.ndarray.base的文档,检查一个数组是否实际上是另一个数组的引用。

我很困惑,
X+=Y
是否本质上是
X=X+Y
,除非您正在使用的库使它过载?啊,是的,谢谢!这张桌子真漂亮!谢谢你把它清理干净!漂亮:)我在找一张这样的表。这张表最左边一栏中所有的“AND”是什么意思?它的意思是“分配”吗?这很让人困惑,因为大写可能指的是AND运算符。但Python的AND运算符是小写的。六羟甲基三聚氰胺六甲醚。