Операторы в Python
Операторы в Python
Определение
Операторы — это специальные символы или ключевые слова, которые выполняют операции над переменными и значениями. В 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) |
^ | Исключающее ИЛИ (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
Примеры с приоритетом
-
Скобки меняют порядок:
print((5 + 3) * 2) # 16 (8 * 2) print(5 + 3 * 2) # 11 (5 + 6) -
Унарные операторы до арифметики:
print(-3 ** 2) # -9 (интерпретируется как -(3**2)) print((-3) ** 2) # 9 -
Логические операторы после сравнения:
print(5 > 3 and 2 < 4) # True (сначала выполняются сравнения)
Заключение
- Операторы позволяют выполнять операции над данными.
- Приоритет операторов определяет порядок вычислений.
- Используйте скобки для явного указания порядка.
- Операторы
isи==выполняют разные проверки:is— идентичность объектов (один объект в памяти).==— равенство значений.
Совет: Если сомневаетесь в приоритете, используйте скобки — это сделает код читаемее.