Арифметические, сравнения и логические операторы - Python с нуля до Junior: Путь к первой работе в IT - Qpel.AI

Арифметические, сравнения и логические операторы

Вы уже знаете, что такое числа, строки и булевы значения. Но как заставить их работать? Как сравнивать, изменять, принимать решения? Здесь на помощь приходят операторы — специальные символы или слова, которые выполняют действия над значениями.

В Python есть три основные группы операторов: арифметические, сравнения и логические. Разберём каждую.

Арифметические операторы: Считаем и вычисляем

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

ОператорНазначениеПримерРезультат
+Сложение5 + 38
-Вычитание10 - 46
*Умножение2 * 612
/Деление10 / 33.333...
//Целочисленное деление10 // 33
%Остаток от деления10 % 31
**Возведение в степень2 ** 38

💡 Важно: Запомните разницу между / и //.

  • / всегда возвращает число с плавающей точкой (float), даже если результат целый (например, 8 / 2 будет 4.0).
  • // возвращает только целую часть деления.

Примеры:

price = 150
quantity = 3
total_cost = price * quantity
print(f"Общая стоимость: {total_cost} рублей") # Общая стоимость: 450 рублей

apples = 17
students = 5
apples_per_student = apples // students
remaining_apples = apples % students
print(f"Каждый студент получит по {apples_per_student} яблок.") # Каждый студент получит по 3 яблок.
print(f"Останется {remaining_apples} яблок.") # Останется 2 яблок.

Операторы сравнения: Сравниваем значения

Эти операторы сравнивают два значения. Результат всегда True (истина) или False (ложь).

ОператорНазначениеПримерРезультат
==Равно5 == 5True
!=Не равно5 != 3True
>Больше10 > 7True
<Меньше4 < 9True
>=Больше или равно5 >= 5True
<=Меньше или равно2 <= 1False

Примеры:

age = 18
is_adult = age >= 18
print(f"Пользователь совершеннолетний? {is_adult}") # Пользователь совершеннолетний? True

password = "mysecretpassword"
input_password = "Mysecretpassword"
is_correct_password = password == input_password
print(f"Пароль верный? {is_correct_password}") # Пароль верный? False (из-за регистра)

temperature = 25
is_hot = temperature > 30
print(f"На улице жарко? {is_hot}") # На улице жарко? False

⚠️ Внимание: Не путайте оператор присваивания = с оператором сравнения ==.

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

Логические операторы: Строим сложные условия

Логические операторы (and, or, not) объединяют булевы значения или результаты сравнений, чтобы создавать сложные условия.

ОператорНазначениеПримерРезультат
andЛогическое "И" (оба условия должны быть True)True and FalseFalse
orЛогическое "ИЛИ" (хотя бы одно условие True)True or FalseTrue
notЛогическое "НЕ" (инвертирует булево значение)not TrueFalse

Примеры:

has_ticket = True
is_vip = False
age = 20

# Условие для входа на концерт: есть билет И возраст больше 16
can_enter_concert = has_ticket and age > 16
print(f"Может войти на концерт? {can_enter_concert}") # Может войти на концерт? True

# Условие для бесплатного напитка: VIP ИЛИ возраст больше 60
free_drink = is_vip or age > 60
print(f"Получит бесплатный напиток? {free_drink}") # Получит бесплатный напиток? False

# Условие "не холодно"
is_cold = False
is_not_cold = not is_cold
print(f"Не холодно? {is_not_cold}") # Не холодно? True

Логические операторы — основа для создания условий в программах. Скоро вы увидите, как они управляют ходом выполнения кода!

Порядок выполнения операторов

Как и в математике, у операторов есть приоритет. Сначала Python выполняет арифметические операции, затем сравнения, и в конце — логические. Внутри каждой группы тоже есть свой порядок (например, умножение и деление перед сложением и вычитанием).

Хотите изменить порядок? Используйте скобки ().

result = 5 + 3 * 2 # Сначала 3 * 2 = 6, потом 5 + 6 = 11
print(result) # 11

result_with_parentheses = (5 + 3) * 2 # Сначала 5 + 3 = 8, потом 8 * 2 = 16
print(result_with_parentheses) # 16

# Комбинация
is_eligible = (age >= 18 and has_ticket) or is_vip

Практическое задание

Примените новые знания:

  1. Создайте две переменные num1 и num2 с любыми числами.
  2. Вычислите и выведите на экран:
    • Сумму num1 и num2.
    • Результат целочисленного деления num1 на num2.
    • Остаток от деления num1 на num2.
  3. Создайте переменные user_name (строка) и min_length (число).
  4. Используя операторы сравнения и логические операторы, напишите условие, которое проверяет:
    • Длина user_name больше или равна min_length И user_name не равно "admin".
    • Выведите результат этой проверки.

Эти операторы — фундамент для любой логики в ваших программах. В следующем уроке мы узнаем, как использовать их для принятия решений и управления ходом выполнения кода с помощью условных конструкций if/elif/else.