Определение
Операторы — это специальные символы или ключевые слова, которые выполняют операции над переменными и значениями. В Python операторы делятся на несколько категорий в зависимости от их функциональности.
Типы операторов
1. Арифметические операторы
Используются для математических операций:
Оператор Описание Пример
+ Сложение 5 + 3 → 8
- Вычитание 5 - 3 → 2
* Умножение 5 * 3 → 15
/ Деление 5 / 2 → 2.5
// Целочисленное деление 5 // 2 → 2
% Остаток от деления 5 % 2 → 1
** Возведение в степень 2 ** 3 → 8
print(10 // 3) # 3 (отбрасывает дробную часть)
2. Операторы сравнения
Сравнивают два значения и возвращают True или False:
Оператор Описание Пример
== Равно 5 == 5 → True
!= Не равно 5 != 3 → True
> Больше 5 > 3 → True
< Меньше 5 < 3 → False
>= Больше или равно 5 >= 5 → True
<= Меньше или равно 5 <= 3 → False
3. Операторы присваивания
Присваивают значения переменным.
Оператор Пример Эквивалент
= x = 5
+= x += 3 x = x + 3
-= x -= 2 x = x - 2
*= x *= 4 x = x * 4
/= x /= 2 x = x / 2
%= x %= 3` x = x % 3
4. Битовые операторы
Работают с битами чисел (для целых чисел):
Оператор Описание Пример
& И (AND) 5 & 3 → 1
| ИЛИ (OR) 5 | 3 → 7
^ Исключающее ИЛИ (XOR) 5 ^ 3 → 6
~ НЕ (NOT) ~5 → -6
<< Сдвиг влево 5 << 1 → 10
>> Сдвиг вправо 5 >> 1 → 2
print(bin(5)) # 0b101
print(5 << 1) # 10 (0b1010)
5. Логические операторы
Используются для комбинирования условий:
Оператор Описание Пример
and Логическое И True and False → False
or Логическое ИЛИ True or False → True
not` Логическое НЕ not True → False
Особенность Python:
- and возвращает первый False или последний True.
- or возвращает первый True или последний False.
print(3 and 0) # 0 (первое "ложное" значение)
print(0 or "Hi") # "Hi" (первое "истинное")
6. Операторы членства
Проверяют наличие элемента в коллекции:
Оператор Описание Пример
in Присутствует 3 in [1, 2, 3] → True
not in Отсутствует 4 not in {1, 2} → True
7. Операторы идентичности
Сравнивают объекты (проверяют, ссылаются ли переменные на один объект):
Оператор Описание Пример
is Тот же объект x is y → True/False
is not Разные объекты x is not y → True/False
a = [1, 2]
b = a
c = [1, 2]
print(a is b) # True (один объект)
print(a is c) # False (разные объекты)
Приоритет операторов
Операторы выполняются в порядке их приоритета (от высшего к низшему):
Приоритет Категория Операторы
1 Скобки ()
2 Возведение в степень **
3 Унарные операторы +x, -x, ~x
4 Умножение/Деление *, /, //, %
5 Сложение/Вычитание +, -
6 Битовые сдвиги <<, >>
7 Битовое И &
8 Битовое ИЛИ/Искл. ИЛИ ^, |
9 Сравнение ==, !=, >, <, >=, <=
10 Операторы идентичности is, is not
11 Операторы членства in, not in
12 Логическое НЕ not
13 Логическое И and
14 Логическое ИЛИ or
Пример:
result = 5 + 3 * 2 ** 2 # 5 + (3 * (2**2)) = 5 + 12 = 17
Примеры с приоритетом
1. Скобки меняют порядок:
print((5 + 3) * 2) # 16 (8 * 2)
print(5 + 3 * 2) # 11 (5 + 6)
2. Унарные операторы до арифметики:
print(-3 ** 2) # -9 (интерпретируется как -(3**2))
print((-3) ** 2) # 9
3. Логические операторы после сравнения:
print(5 > 3 and 2 < 4) # True (сначала выполняются сравнения)
Заключение
- Операторы позволяют выполнять операции над данными.
- Приоритет операторов определяет порядок вычислений.
- Используйте скобки для явного указания порядка.
- Операторы is и == выполняют разные проверки:
- is — идентичность объектов (один объект в памяти).
- == — равенство значений.
Совет: Если сомневаетесь в приоритете, используйте скобки — это сделает код читаемее.