Комментарии и простые опечатки
Содержание курса
Синтаксическая ошибка: что происходит до запуска программы
Когда вы запускаете python hello.py, интерпретатор не сразу начинает выполнять инструкции — сначала он читает весь файл целиком и проверяет, понимает ли он написанное. Это называется разбором (parsing). Если на каком-то месте синтаксис нарушен, интерпретатор останавливается и выдаёт SyntaxError — ещё до того, как выполнилась хоть одна строка кода.
Главное следствие: при SyntaxError программа не выполняется ни частично, ни полностью. Даже если ошибка в самом конце файла, а в начале стоит десять корректных print() — ни одна из них не сработает. Это принципиальное отличие синтаксической ошибки от ошибок, которые возникают во время выполнения.
Почему так устроено? Разбор синтаксиса — это отдельный шаг, который идёт раньше исполнения. Интерпретатор строит из кода внутреннее представление программы, и если код не соответствует правилам языка, это представление построить невозможно. Запускать нечего.
Синтаксические ошибки обычно возникают из-за простых опечаток:
- пропущена закрывающая скобка
)или кавычка" - лишний или отсутствующий символ в неожиданном месте
- несовпадающие скобки разных типов
Например, если в hello.py написать:
print("Привет, мир!"
При запуске терминал выдаст что-то похожее на:
File "hello.py", line 1
print("Привет, мир!"
^
SyntaxError: '(' was never closed
Программа не запустилась вообще — терминал не вывел ни «Привет, мир!», ни что-либо ещё. Только сообщение об ошибке. Как именно читать это сообщение и находить нужную строку в файле — разберём в следующей секции.
