Глава 5 · Давайте поиграем с числами!
Операции присваивания
Более короткая запись для изменения переменных — и правила о том, что выполняется раньше, а что позже.
Операции присваивания
Изменить переменную «на основе самой себя» — очень частое действие: например,
увеличить счёт в игре. Писать score = score + 10 можно, но
Python предлагает более короткую запись:
prisvaivanie.py
score = 0
score += 10 # то же самое, что score = score + 10
print(score) # 10
score -= 3 # score = score - 3
print(score) # 7
Такие сокращения существуют для всех основных операторов:
+=, -=,
*=, /=,
//=, %=,
**=.
Что выполняется первым?
Как и в математике, у операторов в Python есть порядок выполнения: сначала — степень, затем — умножение, деление, целочисленное деление и остаток (слева направо), и в конце — сложение и вычитание.
poryadok.py
print(2 + 3 * 4) # 14 — сначала 3 * 4 = 12, потом + 2
print((2 + 3) * 4) # 20 — скобки меняют порядок
print(2 ** 3 ** 2) # 512 — возведение в степень выполняется справа налево: 2 ** (3 ** 2)
Сомневаетесь — используйте скобки
Даже когда порядок формально понятен, скобки делают код честнее для человека, который будет его читать (в том числе для вас через полгода).
(a + b) * c читается быстрее, чем приходится вспоминать правила приоритета.Практика в Jupyter Notebook
05-02-operatory.ipynb · включает практику по присваиванию и порядку вычислений