Python - Операторы: Ваш дружественный гид по основам

Привет, стремящийся к программированию на Python! Я рад быть вашим гидом в этом увлекательном путешествии по миру операторов Python. Как человек, который многие годы занимается преподаванием программирования, я могу вам заверить, что понимание операторов — это как изучение базовых инструментов в инструментальной упаковке — как только вы их освоите, вас удивит, что вы сможете создать!

Python - Operators

Что такое операторы Python?

Перед тем как погружаться вглубь, начнем с простой аналогии. Представьте операторы как глаголы в языке Python. Так же, как глаголы позволяют нам выражать действия на английском языке, операторы позволяют нам выполнять действия в Python. Они являются рабочими лошадьми, которые манипулируют нашими данными и помогают нам создавать значимые программы.

Типы операторов в Python

Python предоставляет богатый набор операторов, которые мы можем классифицировать по нескольким категориям. Давайте рассмотрим каждый тип с примерами, которые заставят вас сказать: "Аха! Теперь я понимаю!"

1. Арифметические операторы

Это, вероятно, самые знакомые из них — они похожи на базовые математические операции, которые вы учили в школе, но теперь они стали вашими союзниками в кодировании!

# Сложение
print(5 + 3)  # Вывод: 8

# Вычитание
print(10 - 4)  # Вывод: 6

# Умножение
print(3 * 4)  # Вывод: 12

# Деление
print(20 / 5)  # Вывод: 4.0

# Полное деление (округляется вниз до ближайшего целого числа)
print(17 // 3)  # Вывод: 5

# Остаток от деления
print(17 % 3)  # Вывод: 2

# Возведение в степень
print(2 ** 3)  # Вывод: 8

Каждый из этих операторов выполняет определенную математическую операцию. Оператор остатка (%) особенно полезен, когда вам нужно проверить, является ли число четным или нечетным —诱�햐й прием, который я часто использую в своих классах по программированию!

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

Эти операторы похожи на судей на конкурсе программирования — они сравнивают значения и возвращают либо True, либо False.

# Равно
print(5 == 5)  # Вывод: True

# Не равно
print(5 != 3)  # Вывод: True

# Больше
print(7 > 3)   # Вывод: True

# Меньше
print(2 < 8)   # Вывод: True

# Больше или равно
print(5 >= 5)  # Вывод: True

# Меньше или равно
print(3 <= 1)  # Вывод: False

Я люблю думать о них как о "вопросниках" Python. Они постоянно спрашивают: "Это правда?" и даем нам ответ "да" или "нет".

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

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

# Оператор и
print(True and True)   # Вывод: True
print(True and False)  # Вывод: False

# Оператор или
print(True or False)   # Вывод: True
print(False or False)  # Вывод: False

# Оператор не
print(not True)        # Вывод: False
print(not False)       # Вывод: True

Я часто говорю своим студентам, что и — это строгий родитель (оба условия должны быть истинны), или — это ленивый (по крайней мере одно условие должно быть истинны), а не — это бунтарский подросток (постоянно противоречит!).

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

Эти операторы похожи на перевозчиков в Python — они присваивают значения переменным.

# Простое присваивание
x = 5
print(x)  # Вывод: 5

# Сложение и присваивание
x += 3    # Эквивалентно x = x + 3
print(x)  # Вывод: 8

# Вычитание и присваивание
x -= 2    # Эквивалентно x = x - 2
print(x)  # Вывод: 6

# Умножение и присваивание
x *= 2    # Эквивалентно x = x * 2
print(x)  # Вывод: 12

# Деление и присваивание
x /= 3    # Эквивалентно x = x / 3
print(x)  # Вывод: 4.0

Эти операторы — это настоящие таймеры. Вместо того чтобы писать x = x + 3, мы можем просто написать x += 3. Это как если бы Python говорил: "Я тебя понимаю, брат!"

5. Операторы идентичности

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

# Оператор is
x = [1, 2, 3]
y = [1, 2, 3]
z = x

print(x is z)  # Вывод: True
print(x is y)  # Вывод: False
print(x == y)  # Вывод: True

# Оператор is not
print(x is not y)  # Вывод: True

Оператор is проверяет, отсылают ли две переменные к одному и тому же объекту в памяти. Это как спрашивать: "Эти два вещи действительно одно и то же?" Это может быть сложно, поэтому я всегда напоминаю своим студентам использовать == для сравнения значений и is для сравнения идентичности.

6. Операторы членства

Эти операторы похожи на дверных стражей в клубе — они проверяют, является ли значение членом последовательности.

# Оператор in
fruits = ['apple', 'banana', 'cherry']
print('banana' in fruits)  # Вывод: True

# Оператор not in
print('mango' not in fruits)  # Вывод: True

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

Приоритет операторов Python

Теперь, когда мы познакомились со всеми операторами, важно понять, как Python решает, какие из них вычислять первыми. Это называется приоритет операторов, и это как VIP-список на роскошном вечеринке Python — некоторые операторы идут первыми!

Вот таблица приоритетов операторов, от высочайшего к низкому:

Оператор Описание
() Парентезы
** Возведение в степень
+x, -x, ~x Унарный плюс, минус и побитовое НЕ
*, /, //, % Умножение, деление, полное деление, остаток от деления
+, - Сложение, вычитание
<<, >> Побитовый сдвиг влево, вправо
& Побитовое И
^ Побитовое Исключающее ИЛИ
| Побитовое ИЛИ
==, !=, >, >=, <, <=, is, is not, in, not in Сравнения, идентичность, членство
not Логическое НЕ
and Логическое И
or Логическое ИЛИ

Помните, вы всегда можете использовать скобки, чтобы явно указать порядок вычисления. Это как дать VIP-паспорт той части выражения, которую вы хотите вычислить первой!

# Без скобок
print(2 + 3 * 4)  # Вывод: 14

# С скобками
print((2 + 3) * 4)  # Вывод: 20

В первом примере умножение имеет высший приоритет, поэтому 3 * 4 вычисляется первым. Во втором примере скобки переопределяют стандартный приоритет, поэтому сначала выполняется сложение.

И вот и все, друзья! Вы только что завершили свой краткий курс по операторам Python. Помните, практика — это ключ к совершенству, так что не стесняйтесь экспериментировать с этими операторами в своем коде. И скоро вы сможете комбинировать их, как мастер-повар сочетает ингредиенты — создавая сложные и вкусные программы на Python!

Счастливого кодирования, и愿 операторы быть с вами!

Credits: Image by storyset