В этом руководстве вы узнаете все о различных типах операторов в Python, их синтаксисе и о том, как их использовать с примерами.
Видео: Операторы в Python
Что такое операторы в Python?
Операторы - это специальные символы в Python, которые выполняют арифметические или логические вычисления. Значение, с которым работает оператор, называется операндом.
Например:
>>> 2+3 5
Вот +
оператор, выполняющий сложение. 2
и 3
являются операндами и 5
являются выходными данными операции.
Арифметические операторы
Арифметические операторы используются для выполнения математических операций, таких как сложение, вычитание, умножение и т. Д.
Оператор | Смысл | пример |
---|---|---|
+ | Добавить два операнда или унарный плюс | х + у + 2 |
- | Вычтите правый операнд из левого или унарный минус | х - у- 2 |
* | Умножить два операнда | х * у |
/ | Разделите левый операнд на правый (всегда дает float) | х / у |
% | Модуль - остаток от деления левого операнда на правый | x% y (остаток от x / y) |
// | Деление этажа - деление на целое число с поправкой на левую часть числовой строки | х // у |
** | Экспонента - левый операнд возведен в степень справа | x ** y (x в степени y) |
Пример 1: арифметические операторы в Python
x = 15 y = 4 # Output: x + y = 19 print('x + y =',x+y) # Output: x - y = 11 print('x - y =',x-y) # Output: x * y = 60 print('x * y =',x*y) # Output: x / y = 3.75 print('x / y =',x/y) # Output: x // y = 3 print('x // y =',x//y) # Output: x ** y = 50625 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
соответствии с условием.
Оператор | Смысл | пример |
---|---|---|
> | Больше чем - Истина, если левый операнд больше правого | х> у |
< | Меньше - Истина, если левый операнд меньше правого | х <у |
== | Equal to - Истина, если оба операнда равны | х == у |
знак равно | Не равно - Истина, если операнды не равны | х! = у |
> = | Больше или равно - Истина, если левый операнд больше или равен правому | х> = у |
<= | Меньше или равно - Истина, если левый операнд меньше или равен правому | х <= у |
Пример 2: операторы сравнения в Python
x = 10 y = 12 # Output: x> y is False print('x> y is',x>y) # Output: x < y is True print('x < y is',x= y is False print('x>= y is',x>=y) # Output: x <= y is True print('x <= y is',x<=y)
Вывод
x> y ложно x = y ложно x <= y верно
Логические операторы
Логические операторы являются and
, or
, not
операторами.
Оператор | Смысл | пример |
---|---|---|
и | Истинно, если оба операнда верны | х и у |
или | Истинно, если любой из операндов истинен | х или у |
не | Истинно, если операнд ложный (дополняет операнд) | не х |
Пример 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 и y ложно x или y истинно, а не x равно ложно
Вот таблица истинности для этих операторов.
Побитовые операторы
Побитовые операторы действуют с операндами, как если бы они были строками двоичных цифр. Они работают по крупицам, отсюда и название.
Например, 2 10
в двоичном формате, а 7 в 111
.
В таблице ниже: Пусть x = 10 ( 0000 1010
в двоичном формате) и y = 4 ( 0000 0100
в двоичном формате)
Оператор | Смысл | пример |
---|---|---|
& | Побитовое И | х & у = 0 ( 0000 0000 ) |
| | Побитовое ИЛИ | х | у = 14 ( 0000 1110 ) |
~ | Побитовое НЕ | ~ х = -11 ( 1111 0101 ) |
^ | Побитовое исключающее ИЛИ | х у = 14 ( 0000 1110 ) |
>> | Побитовый сдвиг вправо | х >> 2 = 2 ( 0000 0010 ) |
<< | Побитовый сдвиг влево | x << 2 = 40 (0010 1000 ) |
Assignment operators
Assignment operators are used in Python to assign values to variables.
a = 5
is a simple assignment operator that assigns the value 5 on the right to the variable a on the left.
There are various compound operators in Python like a += 5
that adds to the variable and later assigns the same. It is equivalent to a = a + 5
.
Operator | Example | Equivalent to |
---|---|---|
= | 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 |
Special operators
Python language offers some special types of operators like the identity operator or the membership operator. They are described below with examples.
Identity operators
is
and is not
are the identity operators in Python. They are used to check if two values (or variables) are located on the same part of the memory. Two variables that are equal does not imply that they are identical.
Operator | Meaning | Example |
---|---|---|
is | True if the operands are identical (refer to the same object) | x is True |
is not | True if the operands are not identical (do not refer to the same object) | x is not True |
Example 4: Identity operators in Python
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = (1,2,3) y3 = (1,2,3) # Output: False print(x1 is not y1) # Output: True print(x2 is y2) # Output: False print(x3 is y3)
Output
False True False
Here, we see that x1 and y1 are integers of the same values, so they are equal as well as identical. Same is the case with x2 and y2 (strings).
But x3 and y3 are lists. They are equal but not identical. It is because the interpreter locates them separately in memory although they are equal.
Membership operators
in
и not in
являются операторами членства в Python. Они используются для проверки того, найдено ли значение или переменная в последовательности (строка, список, кортеж, набор и словарь).
В словаре мы можем проверить только наличие ключа, но не значения.
Оператор | Смысл | пример |
---|---|---|
в | Истинно, если в последовательности найдено значение / переменная | 5 дюйм x |
не в | Истинно, если значение / переменная не найдена в последовательности | 5 не в х |
Пример # 5: Операторы членства в Python
x = 'Hello world' y = (1:'a',2:'b') # Output: True print('H' in x) # Output: True print('hello' not in x) # Output: True print(1 in y) # Output: False print('a' in y)
Вывод
Истина Истина Истина Ложь
Здесь 'H'
находится в x, но 'hello'
отсутствует в x (помните, что Python чувствителен к регистру). Аналогично, 1
это ключ и 'a'
значение в словаре y. Следовательно, 'a' in y
возвращается False
.