Операторы в Python
Операторы в Python используются для выполнения различных операций над переменными и значениями.
Арифметические операторы
Используются для выполнения математических операций:
a = 10
b = 3
print(a + b) # Сложение: 13
print(a - b) # Вычитание: 7
print(a * b) # Умножение: 30
print(a / b) # Деление: 3.3333
print(a // b) # Целочисленное деление: 3
print(a % b) # Остаток от деления: 1
print(a ** b) # Возведение в степень: 1000
Операторы сравнения
Используются для сравнения значений, возвращают True
или False
:
x = 5
y = 10
print(x > y) # False
print(x < y) # True
print(x == y) # False
print(x != y) # True
print(x >= 5) # True
print(y <= 10) # True
Логические операторы
Используются для работы с логическими значениями True
и False
:
x = True
y = False
print(x and y) # False
print(x or y) # True
print(not x) # False
Приоритет операторов
Логический оператор not
имеет самый высокий приоритет, затем идут and
, а
потом or
.
Операторы присваивания
Используются для присваивания значений переменным:
a = 10 # Обычное присваивание
a += 5 # Эквивалентно a = a + 5
a -= 2 # Эквивалентно a = a - 2
a *= 3 # Эквивалентно a = a * 3
a /= 2 # Эквивалентно a = a / 2
a //= 2 # Целочисленное деление и присваивание
a %= 3 # Остаток от деления и присваивание
a **= 2 # Возведение в степень и присваивание
Побитовые операторы
Работают с числами на уровне битов:
a = 5 # 0b0101
b = 3 # 0b0011
print(a & b) # Побитовое И: 1 (0b0001)
print(a | b) # Побитовое ИЛИ: 7 (0b0111)
print(a ^ b) # Побитовое исключающее ИЛИ: 6 (0b0110)
print(~a) # Побитовое отрицание: -6
print(a << 1) # Сдвиг влево: 10 (0b1010)
print(a >> 1) # Сдвиг вправо: 2 (0b0010)
Осторожно с побитовыми операциями
Побитовые операторы используются редко, в основном в низкоуровневом программировании или при оптимизации кода.
Операторы принадлежности и идентичности
- Операторы принадлежности (
in
,not in
) проверяют, содержится ли элемент в последовательности:
nums = [1, 2, 3, 4]
print(3 in nums) # True
print(5 not in nums) # True
- Операторы идентичности (
is
,is not
) проверяют, ссылаются ли переменные на один и тот же объект в памяти:
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True (b указывает на тот же объект, что и a)
print(a is c) # False (c — это другой объект с таким же содержимым)
print(a == c) # True (содержимое списков одинаковое)