Python Glossary English

все Python 3Арифметика и операторыпонятие

Приоритет операций

приоритет

Порядок вычисления выражений: ** > унарный минус > * / // % > + -. Скобки повышают приоритет. Помнить: PEMDAS / BODMAS.

Синтаксис

( ) → ** → -x → * / // % → + -

Таблица не заканчивается на арифметике: сравнения стоят ниже неё, а not, and и or — ещё ниже, поэтому a + b > c and d читается как ((a + b) > c) and d. Возведение в степень связывает крепче унарного минуса слева, но не справа — запись 2 ** -1 законна и даёт 0.5. Учить всю таблицу наизусть незачем: в смешанном выражении скобки обходятся дешевле отладки.

Примеры

print(2 + 3 * 4)  # → 14 (сначала умножение)
print((2 + 3) * 4)  # → 20 (скобки первыми)
print(2 ** 3 ** 2)  # → 512 (правоассоциативность: 3**2=9, 2**9)
print(-2 ** 2)  # → -4 (сначала степень, потом минус)
print(10 - 3 + 2)  # → 9 (слева направо)
print(10 % 3 + 1)  # → 2 (% раньше +)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности