Оператор в Python — это символ или конструкция, которая выполняет действие над одним или несколькими операндами (значениями, переменными). Операторы позволяют считать, сравнивать, комбинировать условия и управлять потоком программы. В этой статье разберём три базовые группы: арифметические, операторы сравнения и логические. Всё — с примерами и практическими рекомендациями, где какой оператор уместен.
Арифметические операторы
Используются для вычислений: подсчётов, преобразований величин, расчётов индексов и т. п.
| Оператор | Описание | Пример | Результат |
|---|---|---|---|
+ |
Сложение | 2 + 3 |
5 |
- |
Вычитание | 10 - 4 |
6 |
* |
Умножение | 3 * 4 |
12 |
/ |
Деление (всегда float) | 10 / 3 |
3.333... |
// |
Целочисленное деление | 10 // 3 |
3 |
% |
Остаток от деления | 10 % 3 |
1 |
** |
Возведение в степень | 2 ** 3 |
8 |
Когда что использовать
+,-,*. Для обычных расчётов./. Когда нужен точный результат с дробной частью (например, среднее значение).//и%. Часто нужны в алгоритмах с индексами, разбиением на группы, проверками чётности.**. Для степеней, корней (через дробную степень), сложных формул.
Практические примеры
Чётность числа:
n = 7 if n % 2 == 0: print("Чётное") else: print("Нечётное")
Разбиение на страницы (пагинация):
items_per_page = 10 total_items = 23 pages = (total_items + items_per_page - 1) // items_per_page # округление вверх print(pages) # 3
Формула (a + b - 1) // b — стандартный приём округления вверх при целочисленном делении.
Вычисление процента скидки:
price = 1990 discount_percent = 15 discount = price * (discount_percent / 100) final = price - discount print(final) # 1691.5
Корень через возведение в степень:
x = 16 root = x ** 0.5 print(root) # 4.0
Операторы сравнения
Возвращают булево значение: True или False. Используются в условиях (if, while) и фильтрациях.
| Оператор | Описание | Пример |
|---|---|---|
== |
Равно | 5 == 5 → True |
!= |
Не равно | 5 != 3 → True |
> |
Больше | 10 > 3 → True |
< |
Меньше | 3 < 10 → True |
>= |
Больше или равно | 5 >= 5 → True |
<= |
Меньше или равно | 3 <= 5 → True |
Частая ошибка: = вместо ==
=— оператор присваивания.==— оператор сравнения.
x = 5 # присваивание if x == 5: # сравнение print("OK")
Если написать if x = 5: — будет синтаксическая ошибка.
Сравнение разных типов
Python допускает сравнение чисел и строк, но результат может быть неочевидным. Лучше сравнивать значения одного типа.
"10" == 10 # False (строка и число не равны) int("10") == 10 # True
Практический пример: проверка диапазона
age = 17 if 0 <= age <= 120: print("Возраст в допустимом диапазоне") else: print("Недопустимый возраст")
В Python можно писать цепочки сравнений (0 <= age <= 120) — это читаемо и безопасно.
Логические операторы
Объединяют условия. Основные: and, or, not.
| Оператор | Смысл | Пример |
|---|---|---|
and |
И (оба условия должны быть истинными) | (x > 0) and (x < 10) |
or |
ИЛИ (хотя бы одно условие истинно) | (x < 0) or (x > 100) |
not |
НЕ (инверсия) | not (x == 5) |
Приоритет и скобки
Приоритет: not → and → or. Для ясности используйте скобки:
is_member = True has_coupon = False total = 1200 # Скидка, если участник ИЛИ есть купон, И сумма больше 1000 if (is_member or has_coupon) and total > 1000: print("Скидка применяется")
Без скобок логика могла бы стать неверной из‑за приоритета операторов.
Короткое вычисление (short‑circuit evaluation)
Python не вычисляет вторую часть выражения, если результат уже ясен:
False and ...— вторая часть не проверяется.True or ...— вторая часть не проверяется.
Это можно использовать для безопасных проверок:
user = None if user is not None and user.is_active: # user.is_active не выполнится, если user == None pass
Практический пример: расчёт скидки с условиями
Допустим, скидка 20 % действует, если:
- покупатель — участник программы лояльности,
- И сумма чека больше 1000 рублей,
- ИЛИ у него есть промокод.
is_member = True total = 1200 has_promo = False discount_rate = 0.0 if is_member and (total > 1000 or has_promo): discount_rate = 0.20 final_price = total * (1 - discount_rate) print("Итоговая цена:", final_price)

Здесь:
- арифметические операторы — для расчёта итоговой цены;
- операторы сравнения — для проверки условий;
- логические — для объединения правил.
Частые ошибки и как их избежать
- Путают
=и==в условиях. Всегда проверяйте, что вifиспользуется сравнение. - Забывают про типы.
"5" > 2вызоветTypeErrorв Python 3. Приводите типы явно:int("5") > 2. - Не учитывают приоритет логических операторов. Используйте скобки для ясности.
- Сравнивают float «в лоб». Из‑за погрешностей
0.1 + 0.2 == 0.3может бытьFalse. Для точных сравнений лучше использоватьmath.isclose():
import math a = 0.1 + 0.2 b = 0.3 print(math.isclose(a, b)) # True
