HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>12 фев 2025</li>
2 <ul><li>12 фев 2025</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Когда внешне всё правильно, но Python отвергает ваш код.</p>
4 </ul><p>Когда внешне всё правильно, но Python отвергает ваш код.</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
6 <p>Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.</p>
7 <p>Когда разработчик начинает писать первые программы, он неизбежно будет сталкиваться с проблемами в коде. В Python одна из самых частых ошибок - SyntaxError: invalid syntax. Давайте разберёмся, что она означает, как её исправить и какие меры можно предпринять, чтобы избежать её в будущем.</p>
7 <p>Когда разработчик начинает писать первые программы, он неизбежно будет сталкиваться с проблемами в коде. В Python одна из самых частых ошибок - SyntaxError: invalid syntax. Давайте разберёмся, что она означает, как её исправить и какие меры можно предпринять, чтобы избежать её в будущем.</p>
8 <p>SyntaxError: invalid syntax - это сообщение об ошибке, которое в переводе означает "синтаксическая ошибка: неверный синтаксис". Такое сообщение возникает при нарушении базовых правил синтаксиса языка, описанных в документации<a>Python Language Reference</a>. Рассмотрим несколько примеров.</p>
8 <p>SyntaxError: invalid syntax - это сообщение об ошибке, которое в переводе означает "синтаксическая ошибка: неверный синтаксис". Такое сообщение возникает при нарушении базовых правил синтаксиса языка, описанных в документации<a>Python Language Reference</a>. Рассмотрим несколько примеров.</p>
9 <p>Если в коде пропущены круглые скобки:</p>
9 <p>Если в коде пропущены круглые скобки:</p>
10 # Неправильно ❌ print "Привет" # Правильно ✅ print("Привет")<p>Когда пропущено двоеточие после условных операторов:</p>
10 # Неправильно ❌ print "Привет" # Правильно ✅ print("Привет")<p>Когда пропущено двоеточие после условных операторов:</p>
11 # Неправильно ❌ if x &gt; 5 print("Больше пяти") # Правильно ✅ if x &gt; 5: print("Больше пяти")<p>Когда операторы используются некорректно. Например, если два арифметических оператора идут подряд без операнда между ними:</p>
11 # Неправильно ❌ if x &gt; 5 print("Больше пяти") # Правильно ✅ if x &gt; 5: print("Больше пяти")<p>Когда операторы используются некорректно. Например, если два арифметических оператора идут подряд без операнда между ними:</p>
12 # Неправильно ❌ x = 5 + * 2 # Правильно ✅ x = 5 * 2<p>Если в коде допущены опечатки в ключевых словах:</p>
12 # Неправильно ❌ x = 5 + * 2 # Правильно ✅ x = 5 * 2<p>Если в коде допущены опечатки в ключевых словах:</p>
13 # Неправильно ❌ whille x &lt; 10: print(x) x += 1 # Правильно ✅ while x &lt; 10: print(x) x += 1<p>Когда неверно расставлены отступы. Например, если строки внутри блока if не имеют отступов или они расставлены неправильно:</p>
13 # Неправильно ❌ whille x &lt; 10: print(x) x += 1 # Правильно ✅ while x &lt; 10: print(x) x += 1<p>Когда неверно расставлены отступы. Например, если строки внутри блока if не имеют отступов или они расставлены неправильно:</p>
14 # Неправильно ❌ if x &gt; 5: print("Больше пяти") print("Отступ неверный") # Правильно ✅ if x &gt; 5: print("Больше пяти") print("Отступ правильный")<p>Помимо перечисленных примеров, ошибка SyntaxError: invalid syntax может возникать во множестве других случаев: при незакрытых кавычках, неправильном использовании операторов присваивания, пропущенных запятых в списках или кортежах, некорректном применении логических операторов, неверном написании имён переменных и так далее. Вам не стоит всё это запоминать - Python сам укажет на ошибку и поможет её найти.</p>
14 # Неправильно ❌ if x &gt; 5: print("Больше пяти") print("Отступ неверный") # Правильно ✅ if x &gt; 5: print("Больше пяти") print("Отступ правильный")<p>Помимо перечисленных примеров, ошибка SyntaxError: invalid syntax может возникать во множестве других случаев: при незакрытых кавычках, неправильном использовании операторов присваивания, пропущенных запятых в списках или кортежах, некорректном применении логических операторов, неверном написании имён переменных и так далее. Вам не стоит всё это запоминать - Python сам укажет на ошибку и поможет её найти.</p>
15 <p>Для начала проверьте вашу текущую версию Python - чем она новее, тем более информативные сообщения об ошибках вы будете получать. В версиях 3.10+ сообщение содержит номер строки, позицию и само описание ошибки. В ранних версиях вы можете видеть лишь надпись SyntaxError: invalid syntax.</p>
15 <p>Для начала проверьте вашу текущую версию Python - чем она новее, тем более информативные сообщения об ошибках вы будете получать. В версиях 3.10+ сообщение содержит номер строки, позицию и само описание ошибки. В ранних версиях вы можете видеть лишь надпись SyntaxError: invalid syntax.</p>
16 <p>Прочтите сообщение об ошибке и найдите номер проблемной строки в коде. Обратите внимание на символ ^, который обычно указывает на конкретное место ошибки. Внесите исправления и попробуйте перезапустить код.</p>
16 <p>Прочтите сообщение об ошибке и найдите номер проблемной строки в коде. Обратите внимание на символ ^, который обычно указывает на конкретное место ошибки. Внесите исправления и попробуйте перезапустить код.</p>
17 <p>? Python показывает синтаксические ошибки по одной: когда вы исправите первую ошибку и перезапустите код, то увидите следующую (если она есть).</p>
17 <p>? Python показывает синтаксические ошибки по одной: когда вы исправите первую ошибку и перезапустите код, то увидите следующую (если она есть).</p>
18 <p>Посмотрим пример кода с двумя синтаксическими ошибками:</p>
18 <p>Посмотрим пример кода с двумя синтаксическими ошибками:</p>
19 def calculate_sum(a, b) return a + b numbers = [1, 2, 3, 4, 5 print(calculate_sum(numbers[0], numbers[1]))<p>Когда мы запустим код в первый раз, интерпретатор Python укажет на первую ошибку - пропущенное двоеточие после определения функции:</p>
19 def calculate_sum(a, b) return a + b numbers = [1, 2, 3, 4, 5 print(calculate_sum(numbers[0], numbers[1]))<p>Когда мы запустим код в первый раз, интерпретатор Python укажет на первую ошибку - пропущенное двоеточие после определения функции:</p>
20 Пример отображения SyntaxError в Python 3.12.4: в сообщении точно указано, что в первой строке пропущено двоеточие<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em>Ошибка в Python 2.7.16: в сообщении указано лишь SyntaxError: invalid syntax<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em><p>Запустим код во второй раз и проверим, обнаружит ли интерпретатор незакрытую квадратную скобку в списке numbers:</p>
20 Пример отображения SyntaxError в Python 3.12.4: в сообщении точно указано, что в первой строке пропущено двоеточие<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em>Ошибка в Python 2.7.16: в сообщении указано лишь SyntaxError: invalid syntax<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em><p>Запустим код во второй раз и проверим, обнаружит ли интерпретатор незакрытую квадратную скобку в списке numbers:</p>
21 Это Python 3.12.4. В данном случае сообщение SyntaxError указывает на проблему с незакрытой скобкой<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em>В Python 2.7.16 мы снова видим только SyntaxError: invalid syntax. Обратите внимание, что указатель отмечает пятую строку вместо четвёртой - даже в простой программе старая версия языка неточно определяет место ошибки<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em><p>Мы разобрали ошибку SyntaxError: invalid syntax на простых примерах, которые легко определить визуально. Однако в реальных проектах даже обновлённые версии интерпретатора не всегда точно указывают место ошибки, поэтому код приходится анализировать вручную по частям.</p>
21 Это Python 3.12.4. В данном случае сообщение SyntaxError указывает на проблему с незакрытой скобкой<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em>В Python 2.7.16 мы снова видим только SyntaxError: invalid syntax. Обратите внимание, что указатель отмечает пятую строку вместо четвёртой - даже в простой программе старая версия языка неточно определяет место ошибки<em>Скриншот:<a>Visual Studio Code</a>/ Skillbox Media</em><p>Мы разобрали ошибку SyntaxError: invalid syntax на простых примерах, которые легко определить визуально. Однако в реальных проектах даже обновлённые версии интерпретатора не всегда точно указывают место ошибки, поэтому код приходится анализировать вручную по частям.</p>
22 <p>Если вы не можете решить проблему самостоятельно, попробуйте обратиться за помощью к программистам на специализированных форумах:</p>
22 <p>Если вы не можете решить проблему самостоятельно, попробуйте обратиться за помощью к программистам на специализированных форумах:</p>
23 <ul><li>Создайте обращение и объясните, какую задачу должен решать код.</li>
23 <ul><li>Создайте обращение и объясните, какую задачу должен решать код.</li>
24 <li>Добавьте проблемный фрагмент кода (текст, не скриншот).</li>
24 <li>Добавьте проблемный фрагмент кода (текст, не скриншот).</li>
25 <li>Опишите, что вы уже пробовали сделать для исправления ошибки.</li>
25 <li>Опишите, что вы уже пробовали сделать для исправления ошибки.</li>
26 </ul><p>После получения ответов от участников форумов попробуйте применить предложенные решения и поделитесь результатами. Это поможет не только вам, но и тем, кто может столкнуться с подобной проблемой в будущем.</p>
26 </ul><p>После получения ответов от участников форумов попробуйте применить предложенные решения и поделитесь результатами. Это поможет не только вам, но и тем, кто может столкнуться с подобной проблемой в будущем.</p>
27 <p>Допускать синтаксические ошибки при написании кода - это естественная часть процесса обучения программированию. Не переживайте, если сталкиваетесь с этой проблемой. Вскоре вы научитесь избегать типичных ошибок и использовать инструменты, которые помогут улучшить ваш код.</p>
27 <p>Допускать синтаксические ошибки при написании кода - это естественная часть процесса обучения программированию. Не переживайте, если сталкиваетесь с этой проблемой. Вскоре вы научитесь избегать типичных ошибок и использовать инструменты, которые помогут улучшить ваш код.</p>
28 <p>Расширения для VS Code:</p>
28 <p>Расширения для VS Code:</p>
29 <ul><li><a>Python</a>и <a>Pylance</a> - два основных расширения для начала работы. Они добавляют в VS Code базовую поддержку Python и проверку синтаксиса.</li>
29 <ul><li><a>Python</a>и <a>Pylance</a> - два основных расширения для начала работы. Они добавляют в VS Code базовую поддержку Python и проверку синтаксиса.</li>
30 <li><a>Error Lens</a> - подсвечивает ошибки в коде и делает их более заметными. Рекомендуем устанавливать после освоения базовых расширений.</li>
30 <li><a>Error Lens</a> - подсвечивает ошибки в коде и делает их более заметными. Рекомендуем устанавливать после освоения базовых расширений.</li>
31 <li><a>IntelliCode</a> - расширение от Microsoft, которое применяет машинное обучение для создания умных подсказок при написании кода.</li>
31 <li><a>IntelliCode</a> - расширение от Microsoft, которое применяет машинное обучение для создания умных подсказок при написании кода.</li>
32 </ul><p>Инструменты для анализа и форматирования кода:</p>
32 </ul><p>Инструменты для анализа и форматирования кода:</p>
33 <ul><li><a>Pylint</a> - популярный инструмент для статического анализа кода. Он проверяет ваш код на соответствие<a>стандартам PEP 8</a>, находит потенциальные ошибки и даёт рекомендации по улучшению его качества.</li>
33 <ul><li><a>Pylint</a> - популярный инструмент для статического анализа кода. Он проверяет ваш код на соответствие<a>стандартам PEP 8</a>, находит потенциальные ошибки и даёт рекомендации по улучшению его качества.</li>
34 <li><a>Pyflakes</a> - быстрый анализатор кода, который специализируется на поиске логических ошибок. Отлично подходит для начинающих разработчиков, поскольку выдаёт понятные сообщения об ошибках.</li>
34 <li><a>Pyflakes</a> - быстрый анализатор кода, который специализируется на поиске логических ошибок. Отлично подходит для начинающих разработчиков, поскольку выдаёт понятные сообщения об ошибках.</li>
35 <li><a>Black</a> - автоматический форматер Python-кода, который помогает поддерживать единый стиль оформления во всём проекте.</li>
35 <li><a>Black</a> - автоматический форматер Python-кода, который помогает поддерживать единый стиль оформления во всём проекте.</li>
36 </ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
36 </ul><a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>