В программировании редко встречаются ситуации, когда нужно выбрать только из двух вариантов. Гораздо чаще перед программой встает задача выбора одного из множества возможных путей. Например, интернет-магазин может предлагать разные условия доставки в зависимости от суммы заказа: для крупных заказов — бесплатная доставка, для средних — фиксированная стоимость, для маленьких — повышенная. Или система оценивания знаний должна выдавать разные комментарии в зависимости от полученного балла: отлично, хорошо, удовлетворительно или неудовлетворительно. Именно для таких ситуаций в Python существует конструкция if-elif-else, которая позволяет проверить несколько условий последовательно и выполнить код, соответствующий первому истинному условию.
В этом уроке мы подробно разберем, как работает конструкция if-elif-else, чем она отличается от множества отдельных операторов if, и в каких случаях её использование делает код более понятным и эффективным. Вы научитесь строить цепочки проверок любой сложности, правильно организовывать вложенность и избегать типичных ошибок.
Кроме того, мы познакомимся с условным выражением, которое часто называют тернарным оператором. Это компактная форма записи if-else в одну строку, которая особенно удобна для простых присваиваний, когда нужно выбрать одно из двух значений в зависимости от условия. Вы узнаете, где и как его применять, а где лучше оставаться с классической записью для сохранения читаемости кода.
Отдельная важная тема этого урока — вычисление с коротким замыканием (short-circuit evaluation). Это особенность работы логических операторов and и or, которая позволяет Python не вычислять вторую часть выражения, если результат уже можно определить по первой. Эта особенность не только ускоряет выполнение программы, но и помогает писать безопасный код: например, можно сначала проверить, что список не пуст, а только потом обращаться к его элементам, избегая ошибок.
Все примеры в уроке максимально приближены к реальным задачам, которые встречаются в повседневной разработке. Мы разберем практические сценарии: определение времени суток для приветствия, классификацию возраста, расчет стоимости доставки, оценку успеваемости и другие. Урок построен с учетом того, что вы уже знакомы с операторами if, else, сравнения и логическими операторами из предыдущего занятия.