Объяснение к уроку
После этого урока ты сможешь:
if, elif и else для простых и многовариантных ветвлений.and, or и not.Условие управляет тем, выполняется ли блок кода. Используй if для первого правила, elif для дополнительных условий и else для запасного варианта, когда ни одно из предыдущих условий не подошло.
Python проверяет ветки сверху вниз и останавливается на первой истинной ветке. Это делает порядок условий частью логики. Слишком широкое правило, помещённое раньше времени, может скрыть более точное правило под ним.
Условия могут повторно использовать уже знакомые тебе операторы сравнения и логические связки:
age >= 18
role == "admin" and is_active
is_vip or order_total >= 100
not is_suspendedКаждая строка ветки заканчивается двоеточием, а код внутри неё выделяется отступом. В этом уроке используется такая структура; отдельный урок о блоках кода подробнее рассмотрит отступы, вложенные блоки и заглушки.
Используй if и else, когда должен быть выбран ровно один из двух вариантов.
maintenance_mode = False
if maintenance_mode:
print("Service unavailable")
else:
print("Service online")Вывод:
Service onlineВыполняется только одна ветка.
Используй elif, когда одно и то же значение может попадать в одну из нескольких упорядоченных категорий.
battery_level = 42
if battery_level >= 80:
print("Battery: high")
elif battery_level >= 30:
print("Battery: medium")
else:
print("Battery: low")Вывод:
Battery: mediumПервое условие ложно, поэтому Python проверяет следующую ветку.
Логические операторы позволяют одной ветке зависеть от нескольких фактов.
role = "editor"
is_verified = True
if role == "editor" and is_verified:
print("Publishing enabled")
else:
print("Publishing blocked")Вывод:
Publishing enabledОбе части оператора and должны быть истинными.
Побеждает первая истинная ветка, поэтому порядок правил имеет решающее значение.
error_count = 12
if error_count >= 10:
print("Alert: critical")
elif error_count > 0:
print("Alert: warning")
else:
print("Alert: clear")Вывод:
Alert: criticalЕсли бы правило предупреждения шло первым, критический случай никогда бы не выполнился.
| Решение | Структура Python |
|---|---|
| Выполнить код только при совпадении правила | if condition: |
| Добавить ещё одно условие | elif condition: |
| Обработать все остальные случаи | else: |
| Требовать выполнения обоих правил | and |
| Допускать выполнение любого правила | or |
| Обратить булеву проверку | not |
else if; в Python используется elif.if, когда должен быть выбран только один результат.else нет условия.