Мастерство операторов Python: Полное руководство
Мастерство операторов Python
В этом уроке вы освоите все категории операторов Python — синтаксис, поведение и практические примеры — для написания чистого, эффективного кода.
Видео: Операторы в Python
Что такое операторы в Python?
Операторы — специальные символы, выполняющие арифметические или логические вычисления. Значения, над которыми они действуют, называются операндами.
Например:
>>> 2+3
5
Здесь + — оператор сложения, 2 и 3 — операнды, 5 — результат.
Арифметические операторы
Арифметические операторы выполняют математические операции: сложение, вычитание, умножение и др.
| Оператор | Значение | Пример |
|---|---|---|
| + | Сложить два операнда или унарный плюс | x + y + 2 |
| - | Вычесть правый операнд из левого или унарный минус | x - y - 2 |
| * | Умножить два операнда | x * y |
| / | Разделить левый операнд на правый (всегда возвращает float) | x / y |
| % | Модуль — остаток от деления | x % y (остаток от x/y) |
| // | Целочисленное деление — результат округлён вниз | x // y |
| ** | Возведение в степень — левый в степени правого | x ** y (x в степени y) |
Пример 1: Арифметические операторы в Python
x = 15
y = 4
print('x + y =', x + y)
print('x - y =', x - y)
print('x * y =', x * y)
print('x / y =', x / y)
print('x // y =', x // y)
print('x ** y =', x ** y)
Вывод
x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625
Операторы сравнения
Операторы сравнения оценивают отношения между значениями, возвращая True или False.
| Оператор | Значение | Пример |
|---|---|---|
| > | Больше | x > y |
| < | Меньше | x < y |
| == | Равно | x == y |
| != | Не равно | x != y |
| >= | Больше или равно | x >= y |
| <= | Меньше или равно | x <= y |
Пример 2: Операторы сравнения в Python
x = 10
y = 12
print('x > y is', x > y)
print('x < y is', x < y)
print('x == y is', x == y)
print('x != y is', x != y)
print('x >= y is', x >= y)
print('x <= y is', x <= y)
Вывод
x > y is False x < y is True x == y is False x != y is True x >= y is False x <= y is True
Логические операторы
Логические операторы — and, or, not — комбинируют булевы выражения.
| Оператор | Значение | Пример |
|---|---|---|
| and | True, если оба операнда истинны | x and y |
| or | True, если хотя бы один операнд истинен | x or y |
| not | Отрицает операнд | not x |
Пример 3: Логические операторы в Python
x = True
y = False
print('x and y is', x and y)
print('x or y is', x or y)
print('not x is', not x)
Вывод
x and y is False x or y is True not x is False
Ниже таблица истинности для этих операторов.
Побитовые операторы
Побитовые операторы манипулируют отдельными битами целочисленных операндов.
Например, 2 в бинарном виде 10, а 7 — 111.
Пусть x = 10 (00001010 бинарный) и y = 4 (00000100 бинарный).
| Оператор | Значение | Пример |
|---|---|---|
| & | Побитовое И | x & y = 0 (00000000) |
| | | Побитовое ИЛИ | x | y = 14 (00001110) |
| ~ | Побитовое НЕ | ~x = -11 (11110101) |
| ^ | Побитовое исключающее ИЛИ | x ^ y = 14 (00001110) |
| >> | Правый сдвиг | x >> 2 = 2 (00000010) |
| << | Левый сдвиг | x << 2 = 40 (00101000) |
Операторы присваивания
Операторы присваивания назначают значения переменным, включая составные формы, комбинирующие операцию с присваиванием.
| Оператор | Пример | Эквивалентно |
|---|---|---|
| = | x = 5 | x = 5 |
| += | x += 5 | x = x + 5 |
| -= | x -= 5 | x = x - 5 |
| *= | x *= 5 | x = x * 5 |
| /= | x /= 5 | x = x / 5 |
| %= | x %= 5 | x = x % 5 |
| //= | x //= 5 | x = x // 5 |
| **= | x **= 5 | x = x ** 5 |
| &= | x &= 5 | x = x & 5 |
| |= | x |= 5 | x = x | 5 |
| ^= | x ^= 5 | x = x ^ 5 |
| >>= | x >>= 5 | x = x >> 5 |
| <<= | x <<= 5 | x = x << 5 |
Специальные операторы
Python также включает операторы тождества и принадлежности для продвинутых сравнений.
Операторы тождества
is и is not проверяют, ссылаются ли две ссылки на один и тот же объект.
| Оператор | Значение | Пример |
|---|---|---|
| is | True, если операнды ссылаются на один объект | x is True |
| is not | True, если операнды ссылаются на разные объекты | x is not True |
Пример 4: Операторы тождества в Python
x1 = 5
y1 = 5
x2 = 'Hello'
y2 = 'Hello'
x3 = [1,2,3]
y3 = [1,2,3]
print(x1 is not y1)
print(x2 is y2)
print(x3 is y3)
Вывод
False True False
Целые числа и короткие строки интернируются, поэтому идентичные литералы часто делят один объект. Списки — разные объекты даже при одинаковом содержимом.
Операторы принадлежности
in и not in проверяют наличие значения в последовательности, множестве или ключах словаря.
| Оператор | Значение | Пример |
|---|---|---|
| in | True, если значение найдено в последовательности | 5 in x |
| not in | True, если значение отсутствует в последовательности | 5 not in x |
Пример 5: Операторы принадлежности в Python
x = 'Hello world'
y = {1:'a',2:'b'}
print('H' in x)
print('hello' not in x)
print(1 in y)
print('a' in y)
Вывод
True True True False
Обратите внимание: строковые сравнения чувствительны к регистру, а проверки словаря касаются только ключей.
Python
- Операторы C# — исчерпывающее руководство по операторам в C#
- Освоение операторов C++: полное руководство с практическими примерами
- Операторы в C: исчерпывающее руководство
- Освоение типов данных в Python: практическое руководство
- Оператор pass в Python: практическое руководство
- Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
- Словари в Python: создание, манипуляции и продвинутые техники
- Итераторы в Python: как они работают и как создать свои
- Замыкания в Python: как вложенные функции захватывают переменные
- Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам