Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Приоритет операторов в Python

Python вычисляет выражения в определённом порядке — как в математике. Знание этого порядка спасает от неожиданных результатов.

Как в математике

Сначала умножение и деление, потом сложение и вычитание. 2 + 3 * 4 даёт 14, а не 20, потому что 3*4 считается первым. Это привычные правила арифметики, и Python их соблюдает.

print(2 + 3 * 4)     # 14
print((2 + 3) * 4)   # 20

Сравнение и логика

Сначала считаются арифметика и сравнения (>, ==), затем логические not, потом and, и в конце or. Поэтому x > 0 and y > 0 работает как ожидается: сравнения раньше, and позже.

Скобки решают всё

Не нужно держать всю таблицу приоритетов в голове — просто ставьте скобки там, где хотите явно задать порядок. Скобки делают код и правильным, и понятным: читателю сразу видно замысел.

Частые вопросы

Что вычисляется раньше — and или or? and раньше or; при сомнении используйте скобки.

Обязательно ли учить всю таблицу? Нет, достаточно помнить про арифметику и на всякий случай ставить скобки.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание