^ =, - = и + = символы в Python

Я довольно опытен с python, но недавно попробовал образцы тестов для кодовости и посмотрел на решения, с которыми я столкнулся - =, + = и ^ =, и я не могу понять, что они могут, кто-нибудь может объяснить, и, возможно, также контекст, в котором они используются?

Спасибо!

Ответ 1

Как практически любой современный язык, python имеет Assignment Operators поэтому они могут использовать их каждый раз, когда вы хотите присвоить значение переменной после выполнения какой-либо арифметической или логической операции, оба (назначение и операция) выражаются компактным способом в одном утверждении....

введите описание изображения здесь

Ответ 2

Когда вы вычисляете 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, чтобы проверить, является ли массив ссылкой на другой массив.

Я надеюсь, что это помогает