2016-06-30 1 views
-4

Мне было интересно, что делает оператор + = в python. Для чего он используется и почему я его использую?Что такое + = среднее значение на python и почему я должен его использовать?

+1

'x + = y' является сокращением для' x = x + y'. Вы не можете беспокоиться о том, чтобы выполнить поиск в Google на «операторы python»? –

+0

Зачем мне это нужно? –

+0

Поскольку таким образом вам не нужно повторно вводить имя первой переменной, что означает меньшее количество ввода текста и меньшее количество шансов совершить тупая ошибка (то есть, что бы вы хотели ввести 'x1 = x1 + y1', но вместо этого вы набрали' x1 = y1 + y1'? Вы можете даже не заметить, а затем потратить часы или дни, отслеживая ошибку.) –

ответ

0
a += b 

похож:

a = a + b 

Он также работает с другими основными признаками, например:

a *= b 

подобен:

a = a * b 
0

Другие использования для строки, str + = 'defg' - это так же, как ул = СИЛ + «» DEFG

str = 'abc' 
str += 'defg' 
print(str) 
'abcdefg' 
0

Это известно как дополненной уступки, и это не свойственно языку Python. Преимуществом является не только сохранение набора текста. Существует вычислительное преимущество, так как x+=1 оценивает x только один раз x=x+1 оценивает x дважды. См. https://docs.python.org/2/reference/simple_stmts.html#augmented-assignment-statements

0

Как многие указали, x += y похож на x = x + y.

Одна из отличительных отличий заключается в том, что оператор += является «на месте». Итак, x += y на самом деле «на месте добавить». Это означает, что он изменяет объект «x».

В то время как x = x + y добавляет значения 'x' и 'y' и сохраняет результат (как новый объект) в 'x', отбрасывая его предыдущее значение. Это становится более важным при работе с объектами, пользовательскими числовыми типами или в любом пользовательском классе, где поведение может быть изменено внутренне.

+ вызывает метод __add__() объекта.
+= звонки __iadd__().
(Это может стать более сложным, с __radd__ и т.д., но я замалчивая, что на данный момент.)

Одна хорошая причина для использования += является: в зависимости от типа объекта, x += y могут быть оптимизированы в конкретных случаях , но x = x + y должен создать новый объект для переустановки на «x».

 Смежные вопросы

  • Нет связанных вопросов^_^