Объяснение к уроку
После этого урока ты сможешь:
pass для намеренно пустых блоков и безопасно инициализировать значения, когда они понадобятся позже.Python использует отступы как часть синтаксиса. Двоеточие открывает блок, а расположенные ниже инструкции с отступом принадлежат этому блоку:
if is_ready:
print("Deploy")Четыре пробела на каждый уровень отступа — общепринятое соглашение. Python не использует {} для обозначения блоков, и непоследовательные отступы могут изменить поведение программы или привести к ошибке.
Вложенные ветвления добавляют ещё один уровень отступа. Когда внутренний блок заканчивается, вернись на внешний уровень.
Python также не допускает пустых блоков. Используй pass, когда требуется синтаксически корректная заглушка без действий.
Блок if не создаёт отдельную область видимости переменных, но это не гарантирует, что присваивание вообще произошло. Если значение должно существовать после блока, инициализируй его до условия или присваивай во всех возможных ветках.
Обе строки с отступом принадлежат успешной ветке.
checks_passed = True
if checks_passed:
print("Validation complete")
print("Release unlocked")
print("Workflow finished")Вывод:
Validation complete
Release unlocked
Workflow finishedПоследняя строка не имеет отступа, поэтому она выполняется после условия.
Второе условие проверяется только тогда, когда первое условие успешно.
account_exists = True
email_verified = True
if account_exists:
if email_verified:
print("Login allowed")Вывод:
Login allowedВнутренний вызов print() находится на глубине двух уровней отступа.
passpass не делает ничего, но удовлетворяет требованию Python о наличии инструкции внутри блока.
feature_enabled = False
if feature_enabled:
pass
print("Configuration loaded")Вывод:
Configuration loadedСоздавай безопасное значение по умолчанию до ветвления, если переменная выводится позже.
is_enterprise = False
support_label = "Standard support"
if is_enterprise:
support_label = "Priority support"
print(support_label)Вывод:
Standard supportПеременная существует всегда, даже если условная ветка не выполнялась.
| Структура | Значение |
|---|---|
if condition: | Открыть блок |
| Четыре пробела в начале | Один уровень отступа |
| Восемь пробелов в начале | Блок, вложенный внутрь другого блока |
pass | Корректная заглушка без действий |
| Сдвиг отступа влево | Закрыть текущий блок |
pass.