Перейти к основному содержимому

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

Приоритет операторов определяет, какие операции Python выполняет первыми и в каком порядке.

Пример

Скобки имеют наивысший приоритет, поэтому всё, что находится внутри них, вычисляется первым:

Prompt
Напишите программу на Python, которая показывает, что скобки имеют наивысший приоритет, выводя результат выражения (6 + 3) - (6 + 3).
Вывод: полная программа на Python

Пример

Умножение * имеет более высокий приоритет, чем сложение +, поэтому Python умножает раньше, чем складывает:

Prompt
Напишите программу на Python, которая показывает, что умножение имеет более высокий приоритет, чем сложение, выводя результат выражения 100 + 5 * 3.
Вывод: полная программа на Python

Порядок приоритета

В таблице ниже показан этот порядок: операторы с наивысшим приоритетом идут первыми, а с самым низким — внизу:

Таблица порядка приоритета

main.py
# Operator                                          | Description
# ()                                                | Parentheses
# **                                                | Exponentiation
# +x  -x  ~x                                       | Unary plus, unary minus, and bitwise NOT
# *  /  //  %                                       | Multiplication, division, floor division, and modulus
# +  -                                              | Addition and subtraction
# <<  >>                                            | Bitwise left and right shifts
# &                                                 | Bitwise AND
# ^                                                 | Bitwise XOR
# |                                                 | Bitwise OR
# ==  !=  >  >=  <  <=  is  is not  in  not in     | Comparisons, identity, and membership operators
# not                                               | Logical NOT
# and                                               | AND
# or                                                | OR

Вычисление слева направо

Операторы с одинаковым приоритетом обычно обрабатываются слева направо.

Пример

Сложение + и вычитание - имеют одинаковый приоритет, поэтому это выражение вычисляется слева направо:

Prompt
Напишите программу на Python, которая показывает вычисление слева направо для операторов с одинаковым приоритетом, выводя результат выражения 5 + 4 - 7 + 3.
Вывод: полная программа на Python