Операторы Python имеют разные уровни приоритета из-за того, что они относятся к различным группам. 3 Все операторы одной группы имеют один уровень приоритетности. 1
Некоторые группы операторов и их порядок приоритета от высокого к низкому: 3
- Скобки () — самый высокий приоритет. 3 Скобки используются для группировки небольших выражений или условий. 3
- Возведение в степень () — второй по приоритету. 3
- Битовое дополнение (~) и унарный минус (-) — третий уровень. 3
- Арифметические операторы: умножение (*), деление (/), модульное деление (%), целочисленное деление (//) — четвёртый уровень. 3
- Сложение и вычитание (+), (-) — пятый уровень. 3
- Битовые сдвиги: левый (<<), правый (>>) — шестой уровень. 3
- Битовые операции: AND (&), XOR (^), OR (|) — седьмой и восьмой уровни. 3
- Операторы сравнения: меньше чем (<), меньше чем или равно (<=), больше чем (>), больше чем или равно (>=), равно (=), не равно (!=) — девятый уровень. 3
- Операторы присваивания и связанные операторы присваивания: =, +=, -=, *=, /=, %=, //=, = — десятый уровень. 3
- Операторы идентичности: is, is not — одиннадцатый уровень. 3
- Операторы принадлежности: in, not in — двенадцатый уровень. 3
- Логические и булевые операторы: not, or, and — тринадцатый, четырнадцатый и пятнадцатый уровни соответственно. 3
Если в выражении встречаются операторы с одинаковым уровнем приоритета, то вычисления выполняются слева направо. 15 Исключение — оператор возведения в степень (**), для которого порядок — справа налево. 25