Условия и ветвление
Что это и зачем
if выбирает блок по истинности выражения; elif проверяется только если предыдущие ветви не сработали. else покрывает остальные случаи.
Как это работает
Отступ задаёт блок. Сравнения <, <=, ==, != возвращают bool; and, or, not комбинируют условия. При нескольких независимых проверках нужны отдельные if, при взаимоисключающих — цепочка if/elif/else.
x = 5
if x > 0:
print('positive')
else:
print('other')
Когда применять
Условия описывают доступ, диапазоны и валидацию. Сначала проверяйте редкие ошибки и границы. Условное выражение a if condition else b выбирает значение, а не заменяет сложную бизнес-логику.
Границы применения
Не вкладывайте много уровней условий: используйте ранние выходы в функциях. Не сравнивайте bool с True без необходимости. Проверяйте порядок ветвей от более специфичной к общей.
Ошибки и лучшие практики
Граница >= отличается от >. Два if могут выполнить два блока. В строке 'False' логическая истинность True. and имеет более высокий приоритет, чем or.
Понятна идея? Теперь проверим её в действии.