Приоритет операторов
Приоритет операторов определяет, какие операции Python выполняет первыми и в каком порядке.
Пример
Скобки имеют наивысший приоритет, поэтому всё, что находится внутри них, вычисляется первым:
Prompt
Напишите программу на Python, которая показывает, что скобки имеют наивысший приоритет, выводя результат выражения (6 + 3) - (6 + 3).
Вывод: полная программа на Python
main.py
print((6 + 3) - (6 + 3))
Пример
Умножение * имеет более высокий приоритет, чем сложение +, поэтому Python умножает раньше, чем складывает:
Prompt
Напишите программу на Python, которая показывает, что умножение имеет более высокий приоритет, чем сложение, выводя результат выражения 100 + 5 * 3.
Вывод: полная программа на Python
main.py
print(100 + 5 * 3)
Порядок приоритета
В таблице ниже показан этот порядок: операторы с наивысшим приоритетом идут первыми, а с самым низким — внизу:
Таблица порядка приоритета
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
main.py
print(5 + 4 - 7 + 3)