2017-01-10 2 views
-2

Я пытаюсь обновить мультипликативное значение переменной.Обновление переменной в Python 3

Я знаю, что я могу сделать + = и - = для сложения и вычитания и * = для умножения, но я не полностью понимаю все действия этого типа. Может ли кто-нибудь указать мне на документацию, которая охватывает это? Я не могу найти его на python.org.

ответ

1

Ну, технически вы никогда не обновляете переменные python (целые числа, строки и поплавки среди многих других являются неизменяемыми), вы повторно назначаете значение имени.

+ представляет собой сокращенную add(), * представляет собой сокращенную mul() и - коротка для sub().

, так как вы переназначения переменную, вы, по сути выполняет эти операции (при добавлении, вычитая, умножение, деление или что-то, что вы делаете):

a = 1 
a = a + 1  # a = 2 
a = a * 2  # a = 4 
a = a - 1  # a = 3 

+=, -= и *= просто шорты для вышеуказанных выражений.

т.е. выше можно переформулировать:

a = 1 
a += 1 
a *= 2 
a -= 1 

питона документы для операторов: https://docs.python.org/3.5/library/operator.html смотри также питона документы для операторов INPLACE для получения дополнительной информации: https://docs.python.org/3.5/library/operator.html#inplace-operators

+1

унарные операторы не имеют отношения здесь. Вы ищете [операторы на месте] (https://docs.python.org/3.5/library/operator.html#inplace-operators). – glibdud

+0

Обратите внимание, что где 'x = []', то 'x + = [0]' не совпадает с 'x = x + [0]' –

+0

@glibdud спасибо, исправлено. –

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