Обнаружение ошибки NameError: name is not define в Python может расстроить, затруднив выполнение вашего кода. Давайте выясним причины этой ошибки и найдем эффективное решение.
Ошибка возникает, когда Python встречает ссылку на неизвестную переменную или класс. В предоставленном коде:
s = Something()
s.out()
class Something:
def out():
print("it works")
Интерпретатор пытается получить доступ к классу Something после определения переменной s. Однако в Python определения классов должны быть созданы до их использования; в противном случае интерпретатор не сможет их распознать.
Чтобы исправить ситуацию, переопределите класс Something перед его использованием:
class Something:
def out(self):
print("it works")
s = Something()
s.out()
Другая общая черта этой ошибки связана с определением метода экземпляра. Методы экземпляра требуют self в качестве первого аргумента, представляющего сам экземпляр. Убедитесь, что вы включили self при определении методов экземпляра:
class Something:
def out(self):
print("it works")
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3