В этой статье блога я расскажу вам, что такое недопустимый символ SyntaxError в идентификаторе в Python, как эта ошибка возникает, а также как ее обрабатывать и исправлять, используя различные методы.
SyntaxError — это ошибки в исходном коде Python, такие как орфографические и пунктуационные ошибки, неправильные метки и т. д., которые приводят к созданию интерпретатором сообщения об ошибке.
В Python идентификаторы — это имена, которые идентифицируют переменные, функции, классы, модули или другие объекты. Эти идентификаторы играют решающую роль в программировании, поскольку они предоставляют средства для ссылки на различные элементы внутри программы.
Однако при присвоении имен идентификаторам необходимо соблюдать некоторые правила и соглашения, и одной из распространенных проблем, с которыми сталкиваются программисты, является наличие недопустимых символов в этих именах.
- Правила идентификатора
- Почему возникает ошибка
- Причина
- Как исправить
- SyntaxError: ошибка недопустимого символа »'(u+201c)
- SyntaxError: недопустимый символ «–»(u+2013)
Правила идентификатора
Идентификатор в Python должен соответствовать определенным правилам:
- Он может содержать только буквенно-цифровые символы(az, AZ, 0–9) и символы подчеркивания(_).
- Первый символ не может быть цифрой.
- Это не может быть зарезервированное слово или ключевое слово, используемое самим Python.
- Он не может содержать пробелы или специальные символы, такие как !, @, #, $, % и т. д.
Если какой-либо символ нарушает эти правила, он становится недопустимым символом в идентификаторе и приведет к синтаксической ошибке при запуске программы.
Почему возникает ошибка
«Синтаксическая ошибка: недопустимый символ в идентификаторе» в Python возникает, когда интерпретатор встречает в идентификаторе символ, который нарушает правила именования идентификаторов.
Причина
- Если вы запускаете код, вы можете получить недопустимый символ в ошибке идентификатора из-за какого-либо символа в середине имени переменной или функции Python.
- Обычно мы получаем эту ошибку, потому что вы скопировали отформатированный код с любого веб-сайта.
Пример:
def check(x): if x in range(4, 9): print("%s in the range" % str(x)) else: print("not in the range") check (5)
После написания приведенного выше кода я получил недопустимый символ SyntaxError в идентификаторе Python в строке номер 6.
Вы можете увидеть ошибку SyntaxError: недопустимый символ в идентификаторе в Python на снимке экрана ниже.
Как исправить
Вот список способов исправить эту ошибку в Python:
- Убедитесь, что ваши идентификаторы соответствуют правилам: они должны начинаться с буквы или подчеркивания, за которыми следуют буквы, цифры или подчеркивание.
- Избегайте использования в идентификаторах специальных символов(кроме подчеркивания).
- Проверьте наличие зарезервированных ключевых слов и воздержитесь от их использования в качестве идентификаторов.
- Проверьте кодировку файла исходного кода, если вы подозреваете проблемы с кодировкой.
Вот пример исправления недопустимого символа SyntaxError в идентификаторе в Python:
def check(x): if x in range(4, 9): print("%s in the range" % str(x)) else: print("not in the range") check(5)
После написания приведенного выше кода выходные данные будут отображаться как «5 в диапазоне», как только вы его распечатаете. Check(5) был перепечатан, и недопустимый символ SyntaxError в идентификаторе в Python устранен.
Посмотрите на скриншот ниже: ошибка: недопустимый символ в идентификаторе в Pyhton устранен.
SyntaxError: ошибка недопустимого символа »'(u+201c)
«Синтаксическая ошибка: недопустимый символ ‘»'(u+201c) в Python» обычно возникает, когда мы скопировали код из таких источников, как текстовые процессоры, PDF-файлы или веб-страницы, в наш сценарий, и он содержит символы, которые не распознаются как допустимые.
В этом случае причиной ошибки является символ «»(Unicode U+201C), который представляет собой левую двойную кавычку.
Пример:
print(“Hello, world!”)
Проверьте приведенный ниже снимок экрана на наличие синтаксической ошибки.
Чтобы исправить эту ошибку, мы можем заменить нестандартные кавычки стандартными кавычками ASCII(«)» в нашем коде.
Пример:
print("Hello, world!")
Проверьте снимок экрана ниже на наличие неожиданных символов после разрешения символа продолжения строки.
SyntaxError: недопустимый символ «–»(u+2013)
Это похоже на приведенную выше ошибку. Здесь у нас в коде есть внешний символ «–», и, следовательно, мы получаем ошибку: SyntaxError: недопустимый символ «–»(u+2013). Чтобы решить эту проблему, мы можем заменить его другими допустимыми символами, такими как подчеркивание.