← Все вопросы

Зачем нужно двоеточие и отступ после if и for? Что будет, если их не поставить?

Задан 9 месяцев назад338 просмотров2 ответа
6

Перешёл на Python и постоянно ловлю ошибки на ровном месте. То IndentationError, то expected ':'. Не до конца понимаю, почему после if и for обязательны двоеточие и отступ. В других языках вроде фигурные скобки. Объясните, как Python вообще понимает, что относится к if?

2 ответа

11
✓ Принятый ответ — помог автору

В Python нет фигурных скобок — вместо них отступ показывает, какой код «внутри» условия или цикла. А двоеточие в конце строки говорит «дальше пойдёт вложенный блок».

if x > 0:
    print('положительное')   # этот отступ = «внутри if»
print('эта строка всегда')   # без отступа = уже не в if

Если убрать двоеточие — получишь expected ':'. Если не поставить отступ после двоеточия — IndentationError. По сути отступ для Python это то же, чем для других языков скобки {}. Делай отступ в 4 пробела и будь последователен.

4

Совет: настрой редактор так, чтобы Tab вставлял именно пробелы, и не смешивай табы с пробелами в одном файле. Иначе вылезет TabError, который глазами почти не видно. В VS Code/PyCharm это включено по умолчанию.

Ваш ответ

Войдите, чтобы ответить на вопрос.