Операторы в 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 = 15
y = 4

# Вывод: x + y = 19
print('x + y =', x+y)

# Вывод: x - y = 11
print('x - y =', x-y)

# Вывод: x * y = 60
print('x * y =', x*y)

# Вывод: x / y = 3.75
print('x / y =', x/y)

# Вывод: x // y = 3
print('x // y =', x//y)

# Вывод: 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 в зависимости от условия.

Оператор

Действие

Пример

>

Больше чем: True, если левый операнд больше правого

x > y

<

Меньше чем: True, если левый операнд меньше правого

x < y

==

Равно: True, если операнды равны между собой

x == y

!=

Не равно: True, если операнды не равны между собой

x != y

>=

Больше или равно: True, если левый операнд больше или равен правому

x >= y

<=

Меньше или равно: True, если левый операнд меньше или равен правому

x <= y

x = 10
y = 12

# Вывод: x > y — False
print('x > y —', x>y)

# Вывод: x < y — True
print('x < y —', x<y)

# Вывод: x == y — False
print('x == y —', x==y)

# Вывод: x != y — True
print('x != y —', x!=y)

# Вывод: x >= y — False
print('x >= y —', x>=y)

# Вывод: x <= y — True
print('x <= y —', x<=y)

Вывод:

x > y — False
x < y — True
x == y — False
x != y — True
x >= y — False
x <= y — True

Логические операторы

Операторы and, or, not — логические.

Оператор

Действие

Пример

and

True, если значения обоих операндов True

x and y

or

True, если значение одного из операндов True

x or y

not

True, если значение операнда False (дополняет значение операнда)

not x

x = True
y = False

print('x and y —', x and y)
print('x or y —', x or y)
print('not x —', not x)

Вывод:

x and y — False
x or y — True
not x — False

Побитовые операторы

Побитовые операторы работают с операндами как со строками из 0 и 1. Они действуют бит за битом, как и говорит название.

Например, 2 в двоичной системе счисления — 10, а 7 — 111.

В таблице ниже: x = 10 (00001010 в двоичной системе счисления) и y = 4 (00000100 в двоичной системе счисления)

Оператор

Действие

Пример

&

Побитовое И

x & y = 0 (00000000)

|

Побитовое ИЛИ

x | y = 14 (00001110)

~

Побитовое НЕ

~x = -11 (11110101)

^

Побитовое XOR

x ^ y = 14 (00001110)

>>

Побитовый сдвиг вправо

x >> 2 = 2 (00000010)

<<

Побитовый сдвиг влево

x << 2 = 40 (00101000)

Операторы присваивания

Операторы присваивания используются для назначения переменной некоторого значения. 

a = 5 — простой оператор присваивания, который приравнивает значение 5 справа переменной а слева.

В Python множество составных операторов, подобных a += 5 — он прибавляет 5 к переменной a и позже присваивает ей получившееся значение. Этот оператор равносилен записи a = a + 5.

Оператор

Пример

Эквивалентно

=

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 — операторы тождественности в Python. Они проверяют, находятся ли два значения (или две переменные) по одному адресу в памяти. То, что две переменные равны еще не значит, что они идентичны.

Оператор

Действие

Пример

is

True, если операнды идентичны (указывают на один объект)

x is True

is not

True, если операнды не идентичны (не указывают на один объект)

x is not True

x1 = 5
y1 = 5
x2 = 'Привет'
y2 = 'Привет'
x3 = [1,2,3]
y3 = [1,2,3]

# Вывод: False
print(x1 is not y1)

# Вывод: True
print(x2 is y2)

# Вывод: False
print(x3 is y3)

Вывод:

False
True
False

Мы видим, что x1 и y1 — целочисленные переменные с одинаковыми значениями, поэтому они равны и идентичны. То же с x2 и y2 (строки).

Но x3 и y3 — списки. Они равны, но не идентичны, поскольку интерпретатор кладет их в разные места в памяти, хоть эти списки и равны.

Операторы принадлежности

in и not in — операторы принадлежности в Python. Они проверяют, есть ли значение или переменная в последовательности (строке, списке, кортеже, множестве или словаре). Иначе говоря, проверяют вхождение элемента в коллекцию. В словаре можно проверить только присутствие ключа, не значения.

Оператор

Действие

Пример

in

True, если значение или переменная есть в последовательности

5 in x

not in

True, если значения или переменной нет в последовательности

5 not in x

x = 'Привет, мир'
y = {1:'a',2:'b'}

# Вывод: True
print('П' in x)

# Вывод: True
print('привет' not in x)

# Вывод: True
print(1 in y)

# Вывод: False
print('б' in y)

Вывод:

True
True
True
False

'П' есть в x, а вот строки 'привет' в x нет (помните: Python чувствителен к регистру). Таким же образом образом 1— ключ, а 'a' — значение в словаре y, поэтому вывод 'б' in yFalse.

codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©