Глава 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 · включает практику по присваиванию и порядку вычислений
Открыть ноутбук →