Справочник · модуль 2 «Условия и логика»
Порядок проверок
Python останавливается на первом подошедшем варианте. Поэтому узкие случаи ставят выше широких.
Сравнение из жизни
Как сито. Сначала мелкие дырочки, потом крупные.
Пример
Широкая проверка сверху
score = 95
if score >= 70:
print("Хорошо")
elif score >= 90:
print("Отлично")Результат
Хорошо
Учитель в уроке Порядок важен. Слева строгая проверка стоит первой. Справа широкая проверка забирает всех, и до слова «Отлично» Python не доходит. Ставь узкие случаи выше широких.
Запомнить
Порядок проверок — как медали: сначала золото, потом серебро. Начнёшь с серебра — золота не будет ни у кого.
Частые ошибки новичков на этой теме
Кажется: Else относится к любому if выше
На самом деле: else относится к ближайшему if на том же отступе.
Тема из урока 2.3 «Много вариантов» курса PythonAZ.