В данном руководстве мы рассмотрим операторы языка программирования Python. Вы узнаете о различных логических, арифметических, битовых, операторах присваивания, принадлежности, тождественности, а также сравнения и их конструкции.
Оператор в Python — это символ, который выполняет операцию над одним или несколькими операндами.
Операнд — это переменная или значение, над которым выполняется операция.
Операторы в Python
- Операторы сравнения
- Логические операторы
- Арифметические операторы
- Операторы присваивания
- Битовые операторы
- Операторы принадлежности
- Операторы тождественности
Операторы сравнения
Давайте рассмотрим простой пример: 2 + 2 == 4
Для проверки истинности заданного условия используется логический тип. Когда мы выполним это выражение, результатом будет True (истина) или False (ложь).
Результат:
>>> 2 + 2 == 4
True
В этом примере мы используем один из операторов сравнения - "==" (равно). В Python есть 6 таких операторов:
- == — равно;
- != — не равно;
- > — больше;
- < — меньше;
- >= — больше или равно;
- <= — меньше или равно.
Результаты:
>>> 2 == 2
True
>>> 3 != 2
True
>>> 4 > 5
False
>>> 2 < 3
True
>>> 2 >= 3
False
>>> 2 <= 3
True
Логические операторы
Правила выполнения логических операций соответствуют таблицам истинности. В Python есть 3 логических оператора:
- or — логическое "ИЛИ";
- and — логическое "И";
- not — логическое отрицание.
Примеры:
>>> (3 + 3 == 6) or (2 * 2 == 5)
True
>>> (3 + 3 == 6) and (2 * 2 == 5)
False
>>> (3 + 3 == 6) and not (2 * 2 == 5)
True
Арифметические операторы
Арифметические операторы в Python выполняют арифметические операции над числами (сложение, вычитание, деление и т. д.);
- + — сложение;
- - — вычитание;
- * — умножение;
- / — деление;
- // — целочисленное деление (возвращает только целую часть от деления, значение после запятой отбрасывается);
- % — деление по модулю (возвращает остаток от деления);
- ** — возведение в степень.
Примеры:
>>> 3 + 2
5
>>> 6 - 2
4
>>> 2 * 2
4
>>> 1 / 2
0.5
>>> 15 // 3
5
>>> 15 % 3
0
>>> 4 ** 2
16
Операторы присваивания
Операторы присваивания в Python работают совершенно очевидно — значение справа присваивается переменной слева. Существует несколько типов операторов присваивания:
- = — значение правого операнда присвоится левому операнду;
- += — сумма левого и правого операнда присвоится левому операнду;
- -= — разность левого и правого операнда присвоится левому операнду;
- *= — произведение левого и правого операнда присвоится левому операнду;
- /= — разделит левый операнд на правый и результат присвоится левому операнду;
- //= — результат целочисленного деления левого операнда на правый операнд присвоится левому операнду;
- %= — разделит левый операнд на правый по модулю и результат присвоится левому операнду;
- **= — возведет левый операнд в степень правого и результат присвоится левому операнду.
>>> a = 20
>>> print(a)
20
>>> a = 20
>>> a += 1 # аналогично a = a + 1
>>> print(a)
21
>>> a = 20
>>> a -= 2 # аналогично a = a - 2
>>> print(a)
18
>>> a = 20
>>> a *= 2 # аналогично a = a * 2
>>> print(a)
40
>>> a = 20
>>> a /= 2 # аналогично a = a / 2
>>> print(a)
10.0
>>> a = 20
>>> a //= 3 # аналогично a = a // 2
>>> print(a)
6
>>> a = 20
>>> a %= 3 # аналогично a = a % 2
>>> print(a)
2
>>> a = 20
>>> a **= 2 # аналогично a = a ** 2
>>> print(a)
400
Python поддерживает не только обычное присваивание правого операнда левому операнду, но и множественное присваивание.
Пример:
>>> a, b, c = 1, 'Django', [23, 28, 29]
>>> print(a, b, c)
1 Django [23, 28, 29]
Также с помощью множественного присваивания можно «распаковывать» строки (str), списки (list), кортежи (tuple) и словари (dict).
Развертка особенно полезна, когда функция возвращает несколько значений в виде кортежа:
>>> def notehunter():
return 7, "Russia"
>>> code, country= notehunter()
>>> print(code, country)
7 Russia
Побитовые операторы
Данные операторы предназначены для работы с данными в битовом (двоичном) формате.
- ~ — побитовое отрицание (для него требуется только один операнд);
- & — побитовое "И";
- | — побитовое "ИЛИ";
- ^ — исключающее "ИЛИ";
- << — побитовый сдвиг влево;
- >> — побитовый сдвиг вправо.
>>> a = 11
>>> b = 34
>>> a & b
2
>>> a | b
43
>>> (a ^ b)
41
>>> ~a
-12
>>> a << 1
22
>>> a >> 2
5
Операторы принадлежности
В Python всего 2 оператора принадлежности — in и not in и они предназначены для проверки того, находится ли элемент в строке (str), списке (list), словаре (dict) или кортеже (tuple).
- in — возвращает True, если элемент присутствует в последовательности;
- not in — возвращает True, если элемент отсутствует в последовательности.
>>> 'https' in 'https://notehunter.net'
True
>>> 3 in [1, 2, 4, 5]
False
>>> 'one' in {'one': 1, 'two': 1} # в словаре проверка по ключам
True
>>> True in ('string', 2, True)
True
>>> 'strong' not in ('string', 2, False)
True
Операторы тождественности
Эти операторы проверяют, совпадают ли операнды (находятся ли они в одной и той же позиции в памяти).
>>> 2 is 20
False
>>> '2' is "2"
True
>>> 2 is not '2'
True