В Python существует несколько видов операторов, которые выполняют различные операции с данными и переменными. Давайте рассмотрим каждый вид операторов подробнее:
Арифметические операторы:
Арифметический оператор | Знак оператора |
Сложение | + |
Вычитание | - |
Умножение | * |
Деление | / |
Остаток от деления | % |
Целочисленное деление | // |
Возведение в степень | ** |
a = 10
b = 3
sum_result = a + b # 13
difference_result = a - b # 7
product_result = a * b # 30
division_result = a / b # 3.3333333333333335
remainder_result = a % b # 1
integer_division_result = a // b # 3
power_result = a ** b # 1000
Операторы сравнения (отношения):
Значение | Знак |
Равно | == |
Не равно | != |
Больше | > |
Меньше | < |
Больше или равно | >= |
Меньше или равно | <= |
x = 5
y = 10
equal_result = x == y # False
not_equal_result = x != y # True
greater_than_result = x > y # False
less_than_result = x < y # True
greater_than_or_equal_result = x >= y # False
less_than_or_equal_result = x <= y # True
Логические операторы:
Логический оператор | Слово |
Логическое И | and |
Логическое ИЛИ | or |
Логическое НЕ | not |
a = True
b = False
and_result = a and b # False
or_result = a or b # True
not_result = not a # False
Операторы присваивания:
Что делает со значением | Знак |
Присваивание | = |
Сложение с присваиванием | += |
Вычитание с присваиванием | -= |
Умножение с присваиванием | *= |
Деление с присваиванием | /= |
Остаток от деления с присваиванием | %= |
Целочисленное деление с присваиванием | //= |
Возведение в степень с присваиванием | **= |
x = 5
x += 3 # То же самое, что и x = x + 3 (x станет равным 8)
x *= 3 # То же самое, что и x = x * 3 (x станет равным 15)
x /= 5 # То же самое, что и x = x / 5 (x станет равным 1)
x %= 5 # То же самое, что и x = x % 5 (x станет равным 0)
Операторы принадлежности, тождественности:
Значение | Слово | Вывод |
принадлежит | in | Возвращает `True`, если элемент присутствует в последовательности. |
не принадлежит | not in | Возвращает `True`, если элемент отсутствует в последовательности. |
тождественно | is | Возвращает `True`, если оба операнда указывают на один и тот же объект. |
не тождественно | is not | Возвращает `True`, если оба операнда указывают на разные объекты. |
my_list = [1, 2, 3]
x = 2
in_result = x in my_list # True
not_in_result = x not in my_list # False
Побитовые операторы:
Побитовое И | & |
Побитовое ИЛИ | | |
Побитовое исключающее ИЛИ | ^ |
Побитовое отрицание | ~ |
Сдвиг влево | << |
Сдвиг вправо | >> |
Выражения
В Python выражения представляют собой комбинации операторов и операндов (аргумент операции; данные, которые обрабатываются командой), которые оцениваются интерпретатором, чтобы получить какое-либо значение. Давайте рассмотрим различные виды выражений в Python. Чуть позже по мере прохождения всех разделов многие из этих выражений будут объяснены в подробностях.
1. Арифметические выражения:
a = 2 + 3 * 4
В этом выражении `2`, `3` и `4` - операнды, а `+` и `*` - операторы. Интерпретатор выполнит операции по приоритету: сначала умножение, затем сложение.
2. Строковые выражения:
a = Hello ' + 'world
Это выражение объединяет две строки, используя оператор `+`.
3. Логические выражения:
x = 6
if x > 5 and x < 7:
print("x равен 6")
Здесь `x > 5` и `x < 7` - это логические выражения, `and` - логический оператор.
4. Выражения сравнения:
a = 3
b = 3
if a == b:
print("a и b равны")
В этом выражении `==` - оператор сравнения, который проверяет равенство двух операндов.
5. Выражения доступа к элементам контейнеров:
my_list = [ 1, 2 ]
print(my_list[0])
Это выражение обращается к первому элементу списка `my_list`.
6. Выражения вызова функций:
my_list = [ 1, 2 ]
print(len(my_list))
Это выражение вызывает функцию `len()` для получения длины списка `my_list`.
7. Выражения-генераторы:
my_list = [x**2 for x in range(5)]
Это выражение создает список квадратов чисел от 0 до 4 с помощью генератора списка.
8. Условные выражения (тернарные операторы):
x = -5
result = x if x > 0 else -x
print(result)
В этом выражении значение `x` возвращается, если оно положительное, иначе возвращается `-x`.
9. Выражения генерации кортежей:
result = [(x, y) for x in range(3) for y in range(3)]
print(result)
Это выражение создает кортежи из всех комбинаций чисел от 0 до 2.
10. Выражения атрибутов:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# Создание объекта класса Person
person = Person("Alice", 30)
# Доступ к атрибутам объекта
name = person.name
age = person.age
print(f"Name: {name}, Age: {age}")
Это выражение обращается к атрибуту `attribute` объекта `obj`.
11. Выражения срезов:
my_list = [10, 20, 30, 40, 50]
# Создание среза списка с элементами с индексами от 1 до 2
sub_list = my_list[1:3]
print(sub_list)
Это выражение создает срез списка `my_list` с элементами с индексами от 1 до 2.
12. Выражения с лямбда-функциями:
# Создание lambda-функции
square = lambda x: x**2
# Использование lambda-функции
result = square(5)
print(result)
Это выражение создает анонимную функцию, которая возводит аргумент в квадрат.