Зачем нужно двоеточие и отступ после if и for? Что будет, если их не поставить?
Перешёл на Python и постоянно ловлю ошибки на ровном месте. То IndentationError, то expected ':'. Не до конца понимаю, почему после if и for обязательны двоеточие и отступ. В других языках вроде фигурные скобки. Объясните, как Python вообще понимает, что относится к if?
2 ответа
В Python нет фигурных скобок — вместо них отступ показывает, какой код «внутри» условия или цикла. А двоеточие в конце строки говорит «дальше пойдёт вложенный блок».
if x > 0:
print('положительное') # этот отступ = «внутри if»
print('эта строка всегда') # без отступа = уже не в if
Если убрать двоеточие — получишь expected ':'. Если не поставить отступ после двоеточия — IndentationError. По сути отступ для Python это то же, чем для других языков скобки {}. Делай отступ в 4 пробела и будь последователен.
Совет: настрой редактор так, чтобы Tab вставлял именно пробелы, и не смешивай табы с пробелами в одном файле. Иначе вылезет TabError, который глазами почти не видно. В VS Code/PyCharm это включено по умолчанию.