Приоритет выполнения операций
Ниже, операции перечислены в порядке уменьшения приоритета. Операции с более высоким приоритетом выполняются до выполнения операций с более низким приоритетом. Операции, указанные в одной строке, имеют одинаковый приоритет и выполняются слева направо (кроме степени).
| Операция | Описание |
|---|---|
** | Возведение в степень |
+x, -x, ~x | Унарные "плюс" и "минус", побитовое НЕ |
*, @, /, //, % | Умножение, матричное умножение, деление, целочисленное деление, взятие остатка |
+, - | Сложение, вычитание |
<<, >> | Побитовые сдвиги влево и вправо |
& | Побитовое И |
^ | Побитовое исключающее ИЛИ (XOR) |
| | Побитовое ИЛИ |
in, not in, is, is not, <, <=, >, >=, !=, == | Вхождение, идентичность, операторы сравнения |
not x | Логическое НЕ |
and | Логическое И |
or | Логическое ИЛИ |
Примеры
-2**-1-->-(2**(-1))
сначала степень, затем унарный оператор2 + -2 = 0-->2 + (-2) = 0
сначала унарный оператор, затем сложение1 + 10 * 20 / 4 // 5 - 9-->(1 + (((10 * 20) / 4) // 5) - 9
сначала умножение и деление, затем сложение и вычитаниеx >> 2 << 2 ^ 3 & 7 | 2-->(((x >> 2) << 2) ^ (3 & 7)) | 2
сначала сдвиги, затем И, затем ИЛИ-НЕ, затем ИЛИ7 + 5 == 48 / 4 in (10, 11, 12)-->((7 + 5) == (48 / 4)) in (10, 11, 12)
сначала арифметика, затем сравнение и вхождениеA and B or C or not D and E-->((A and B) or C) or ((not D) and E)
сначала НЕ, затем И, затем ИЛИ