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