- Python NameError: Имя ‘xxx’ не определено – как исправить эту глупую ошибку?
- Проблема
- Желаемый вывод
- Фон
- Отсутствующее определение переменной
- Имя переменной с ошибками
- Отсутствующие функции определения
- Название функции с ошибками
- Неправильный объем
- Unquoted String in Print ()
- Заключение
- Финктерская академия
- использованная литература
- Читайте ещё по теме:
- Warning: Name ‘xxx’ can be undefined in Python
Python NameError: Имя ‘xxx’ не определено – как исправить эту глупую ошибку?
Переводчик Python бросает исключение NameError, если он сталкивается с неопределенной переменной или именем функции. Чтобы исправить его, вы должны выяснить, почему переменная не определена – – наиболее частые ошибки (1) для использования переменной или имени функции в коде, прежде чем он был определен, или (2), чтобы пропустить имя … NameError Python: Имя ‘xxx’ не определено – как исправить эту глупую ошибку? Подробнее “
Автор оригинала: Girish Rao.
Переводчик Python бросает NameError Исключение, если он встречает неопределенную переменную или имя функции. Чтобы исправить это, вы должны выяснить, почему переменная не определена – самые частые ошибки (1) для использования переменной или имени функции в коде до Это было определено или (2), чтобы пропустить имя в определении или использовании.
Посмотрите на минимальный пример в нашем интерактивном коде Shell:
Упражнение : Определите переменную quote_variable. Прежде чем использовать его и исправить ошибку!
Примечание : Все объяснения и решения, приведенные ниже, были проверены с использованием Python 3.8.5.
Проблема
Когда человек начинает писать код Python, они столкнутся с NameError исключение. Переводчик Python бросает это исключение для состояния ошибки. Опытные кодеры Python, даже Легенды Python, как Guido (Я полагаю), вдаю в эти ошибки, время от времени. В его простейшей форме ошибка выглядит как что-то похожее на следующее:
>>> print(some_variable) Traceback (most recent call last): File "", line 1, in NameError: name 'some_variable' is not defined >>>
Желаемый вывод
Эта статья направлена на помощь читателю понять некоторые из наиболее распространенных причин этой ошибки.
>>> print(some_variable) hello world >>>
Желаемый выход, предполагает переменную quote_variable , указывает на строку » Здравствуйте, мир » Отказ Другими словами, желаемый вывод будет бесплатным запуском кода Python Reader Python.
Фон
Python – это интерпретированный язык. Это означает, что он интерпретирует любой код Python, строка по линии, с начала кода до конца. Выполнение обычно останавливается при первой ошибке, который столкнулся с переводчиком Python. Сообщение об ошибке обычно печатает полезную информацию о проблеме. В большинстве случаев читатель может отладки, вывести и находить ошибочный синтаксис и исправить его. Этот блог попытается описать одну такую общую проблему, называемую NameError Отказ
Отсутствующее определение переменной
Одна общая причина NameError Исключение – это отсутствующее определение переменной. Как уже упоминалось ранее, Python является интерпретированным языком. Это означает, что читатель должен определять переменные перед использованием их. Рассмотрим следующий код. Читатель стремится попробовать какой-то основной код Python Real быстро. Таким образом, они уволяют переводчик Python, чтобы попробовать их свежие навыки Python.
>>> print(some_variable) Traceback (most recent call last): File "", line 1, in NameError: name 'some_variable' is not defined >>>
Ой . Читатель узнает, что они не определены quote_variable , прежде чем они использовали это! Исправьте эту проблему, как показано ниже. Определить quote_variable перед использованием этого!
>>> some_variable = 'Hello World' >>> print(some_variable) Hello World >>>
Имя переменной с ошибками
Имена переменной с ошибками ошибок могут быть ошибочными аналогичным образом. Рассмотрим следующий пример код.
>>> som_variable = 'Hello World' >>> print(some_variable) Traceback (most recent call last): File "", line 1, in NameError: name 'some_variable' is not defined >>>
Примечание : som_variable. не то же самое, что quote_variable. (то есть отсутствует ‘E’ )
Отсутствующие функции определения
Еще одна общая причина NameError Исключение представляет собой недостающее определение функции. Как и переменные определения, читатель должен определить любую функцию, прежде чем использовать его. Рассмотрим следующий код.
>>> some_other_string = 'Hello World' >>> some_function(some_other_string) Traceback (most recent call last): File "", line 1, in NameError: name 'some_function' is not defined >>>
Опять же, функция «Некоторые_функция» не определен до его использования. Исправьте эту проблему, как показано ниже. Определить «Некоторые_функция» перед использованием этого.
>>> def some_function(some_string): . print(some_string) . >>> some_other_string = 'Hello World' >>> some_function(some_other_string) Hello World >>>
Название функции с ошибками
Имена функций с ошибками ошибок могут быть ошибочными похожими. Рассмотрим следующий пример код.
>>> def som_function(some_string): . print(some_string) . >>> some_other_string = 'Hello World' >>> some_function(some_other_string) Traceback (most recent call last): File "", line 1, in NameError: name 'some_function' is not defined >>>
Примечание : ‘som_function’ не то же самое, что «Некоторые_функция» (то есть отсутствует ‘E’ )
Неправильный объем
Еще одна общая причина NameError Исключение – это использование переменной в неправильном объеме. Рассмотрим следующий пример.
>>> ## Define the function some_function() >>> def some_function(): . a_local_variable = 'I am Local…' . print("Printing a Local variable from within a function definition: " + a_local_variable) . >>> ## Call some_function() >>> some_function() Printing a Local variable from within a function definition: I am Local. >>> >>> ## Try to print "a_local_variable" from outside the function definition >>> print("Attempting to print the variable from outside some_function(): " + a_local_variable) Traceback (most recent call last): File "", line 1, in NameError: name 'a_local_variable' is not defined >>>
NameError Исключение произошло потому, что a_local_variable вызвано из-за внешнего объема функций. Один из способов исправить это, определяя a_local_variable в качестве глобальной переменной вместо этого. Рассмотрим следующий пример.
>>> ## Define a Global Variable >>> a_global_variable = 'I am global…' >>> >>> ## Define the function some_function() >>> def some_function(): . print("Printing the Global variable from within a function definition: " + a_global_variable) . >>> ## Call some_function() >>> some_function() Printing the Global variable from within a function definition: I am global. >>> >>> ## Try to print "a_global_variable" from outside the function definition >>> print("Attempting to print the Global variable from outside some_function(): " + a_global_variable) Attempting to print the Global variable from outside some_function(): I am global… >>>
Unquoted String in Print ()
Забывая цитировать строки в Печать () Заявление может вызвать NameError исключение. Это не происходит часто, но хорошо знать, что это может произойти. Читатель, скорее всего, увидит SyntaxError а не NameError Отказ Рассмотрим следующие примеры …
>>> print(Hello) Traceback (most recent call last): File "", line 1, in NameError: name 'Hello' is not defined >>> print(Hello World) File " ", line 1 print(Hello World) ^ SyntaxError: invalid syntax >>>
В приведенных выше примерах вышеупомянутые строки вызывают ошибки. NameError в одном случае и SyntaxError в другой.
В этом случае исправление просто. Приложите струны в цитатах.
>>> print('Hello') Hello >>> print('Hello World') Hello World
Заключение
Такие ошибки произойдут в кодировании читателя. Важно учиться у него и двигаться дальше. Со временем читатель станет лучше в кодировании, поскольку они включают хорошие привычки кодирования. Такие ошибки происходят меньше и меньше, поскольку читатель становится более опытным.
Финктерская академия
Этот блог был доставлен вам Girish , студент Финктерская академия . Вы можете найти его Профиль намного здесь Отказ
использованная литература
Все исследования для этой статьи в блоге было сделано с использованием Python Documents , Поисковая система Google и общая база знаний Финктерская академия и Переполнение стека Общины. Концепции и идеи были также исследованы из Бостонский университет и Карьера карма общины.
Читайте ещё по теме:
Warning: Name ‘xxx’ can be undefined in Python
In Python, it is common to encounter the warning message «Name ‘xxx’ can be undefined». This warning message is generated by the Python interpreter when a variable or function is referenced before its definition.
What does this mean?
In Python, a variable or function needs to be defined before it is used. If you try to reference it before it is defined, you will get the warning message «Name ‘xxx’ can be undefined». This means that the variable or function may not have been defined yet, and could lead to an error in the code.
Why does this happen?
This warning is generated because Python is a dynamically-typed language, which means that variables do not need to be explicitly declared before they are used. This can lead to situations where a variable is referenced before it is defined, which can cause the «Name ‘xxx’ can be undefined» warning message.
How to fix it?
To fix this warning message, you need to ensure that the variable or function is defined before it is used in the code. One way to do this is to make sure that the definition of the variable or function comes before any code that uses it.
Another way to fix this warning is to explicitly define the variable before it is used. This can be done by assigning a value to the variable before its first use or using the global keyword to define a variable that is used across multiple functions.
In conclusion, the «Name ‘xxx’ can be undefined» warning message in Python is a common warning that can cause errors in your code if not addressed. By ensuring that variables and functions are defined before they are used, you can prevent this warning message and ensure that your code runs smoothly.