Подробное руководство по операторам Python: арифметические, логические, сравнения, присваивания, битовые и приоритет
Что такое логические операторы в Python?
Логические операторы в Python вычисляют булевы выражения и возвращают True или False. Три основных: and, or, not. Незаменимы для управления потоком в if, while и других условных конструкциях.
В этом уроке мы рассмотрим весь спектр операторов Python:
- Арифметические операторы
- Операторы сравнения
- Операторы присваивания
- Логические и битовые операторы
- Операторы принадлежности
- Операторы тождества
- Приоритет операторов
Арифметические операторы
Выполняют числовые вычисления. Python поддерживает: + (сложение), - (вычитание), * (умножение), / (обычное деление), // (целочисленное деление), % (остаток), ** (возведение в степень). Могут использоваться прямо в выражениях или через eval() для динамического вычисления.
Пример: простое сложение
x = 4 y = 5 print(x + y) # Вывод: 9
Остальные работают аналогично: 4 * 5 даёт 20, 4 / 2 — 2.0, 4 ** 2 — 16.
Операторы сравнения
Оценки отношения между двумя значениями, возвращают булев результат. Включают:
==(равно)!=(не равно)<(меньше)<=(меньше или равно)>(больше)>=(больше или равно)
Пример: сравнение двух переменных
x = 4
y = 5
print('x > y is', x > y) # Вывод: False
Операторы присваивания
Сохраняют значения в переменных. Базовая форма — =, составные комбинируют операцию с присваиванием: +=, -=, *=, /=, **=.
Пример: базовое и составное присваивание
num1 = 4
num2 = 5
print('Line 1 - Value of num1:', num1)
print('Line 2 - Value of num2:', num2)
# Составное сложение
res = num1 + num2
res += num1
print('Line 3 - Result after res += num1:', res) # Вывод: 13
Логические и битовые операторы
Логические (and, or, not) вычисляют булевы выражения. Битовые (&, |, ^, ~, <<, >>) выполняют побитовую манипуляцию.
Пример: логические операции
a = True
b = False
print('a and b is', a and b) # False
print('a or b is', a or b) # True
print('not a is', not a) # False
Операторы принадлежности
Проверяют наличие значения в последовательности: in и not in.
Пример: проверка принадлежности в списке
x = 4
y = 8
sample_list = [1, 2, 3, 4, 5]
if x in sample_list:
print('Line 1 - x is available in the list')
else:
print('Line 1 - x is not available in the list')
if y not in sample_list:
print('Line 2 - y is not available in the list')
else:
print('Line 2 - y is available in the list')
Операторы тождества
Сравнивают адреса объектов в памяти: is и is not. Важны для различения объектов, равных по значению, но разных по идентичности.
Пример: сравнение тождества
x = 20
y = 20
if x is y:
print('x & y have the same identity')
y = 30
if x is not y:
print('x & y have different identities')
Приоритет операторов
Python следует строгой иерархии приоритетов для разрешения выражений без скобок. Высший приоритет — возведение в степень (**), затем унарные операторы, умножение/деление/остаток, сложение/вычитание, операторы сравнения, тождества, принадлежности, логические и наконец присваивания.
Скобки переопределяют приоритет по умолчанию и делают выражения явными.
Пример: приоритет в действии
v = 4
w = 5
x = 8
y = 2
z = (v + w) * x / y
print('Value of (v + w) * x / y is', z) # Вывод: 28.0
Совместимость с Python 2
Ниже эквивалентные фрагменты для Python 2, использующего print без скобок.
# Arithmetic Operators
x = 4
y = 5
print x + y
# Comparison Operators
x = 4
y = 5
print 'x > y is', x > y
# Assignment Operators
num1 = 4
num2 = 5
print 'Line 1 - Value of num1:', num1
print 'Line 2 - Value of num2:', num2
# Compound Assignment
num1 = 4
num2 = 5
res = num1 + num2
res += num1
print 'Line 3 - Result after res += num1:', res
# Logical Operators
a = True
b = False
print 'a and b is', a and b
print 'a or b is', a or b
print 'not a is', not a
# Membership Operators
x = 4
y = 8
sample_list = [1, 2, 3, 4, 5]
if x in sample_list:
print 'Line 1 - x is available in the list'
else:
print 'Line 1 - x is not available in the list'
if y not in sample_list:
print 'Line 2 - y is not available in the list'
else:
print 'Line 2 - y is available in the list'
# Identity Operators
x = 20
y = 20
if x is y:
print 'x & y have the same identity'
y = 30
if x is not y:
print 'x & y have different identities'
# Operator Precedence
v = 4
w = 5
x = 8
y = 2
z = (v + w) * x / y
print 'Value of (v + w) * x / y is', z
Резюме
- Арифметические операторы обрабатывают числовые вычисления.
- Операторы сравнения определяют истинность отношений.
- Операторы присваивания сохраняют значения; составные варианты комбинируют операции.
- Логические операторы управляют потоком; битовые манипулируют битами.
- Операторы принадлежности проверяют вхождение в последовательность.
- Операторы тождества сравнивают идентичность объектов.
- Приоритет операторов задаёт порядок вычисления; скобки могут его переопределить.
Python
- Освоение побитовых и сдвиговых операторов в C#: полное руководство
- Переменные, константы и литералы в Python — подробное руководство
- Освоение типов данных в Python: практическое руководство
- Мастерство операторов Python: Полное руководство
- Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
- Словари в Python: создание, манипуляции и продвинутые техники
- Итераторы в Python: как они работают и как создать свои
- Замыкания в Python: как вложенные функции захватывают переменные
- Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
- Побитовые операторы в C: И, ИЛИ, XOR, сдвиги и дополнение — подробно