„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum wirft Python den Fehler „NameError: Name \'d\' ist nicht definiert“ aus?

Warum wirft Python den Fehler „NameError: Name \'d\' ist nicht definiert“ aus?

Veröffentlicht am 21.11.2024
Durchsuche:302

Why Does Python Throw a \

Python-Fehler: Name 'd' nicht definiert

Beim Erlernen von Python stößt man häufig auf Fehler, die schwer zu lokalisieren sind. Betrachten Sie das folgende Beispiel aus Python 3 für absolute Anfänger:

Name = ""
Desc = ""
Gender = ""
Race = ""
# Prompt user for user-defined information
Name = input('What is your Name? ')
Desc = input('Describe yourself: ')

Bei der Ausführung erwartet dieser Code, dass der Benutzer einen Wert für seinen Namen eingibt, den er als „d“ eingibt. Das Programm antwortet jedoch mit dem Fehler:

NameError: name 'd' is not defined

Den Fehler verstehen:

In Python 2. x behandelt die Funktion input() „d“ als Python-Ausdruck und interpretiert ihn als Variable mit dem Namen „d“. Da „d“ jedoch nicht im Programm definiert wurde, löst es einen NameError aus.

Lösung:

Um diesen Fehler zu beheben, ziehen Sie zwei Ansätze in Betracht:

1. Verwendung von raw_input() in Python 2.x:

In Python 2.x gibt raw_input() den eingegebenen Wert als Rohzeichenfolge zurück und verhindert so, dass er als Ausdruck interpretiert wird.

# Python 2.x
Name = raw_input('What is your Name? ')

2. Upgrade auf Python 3.x:

Python 3.x führte eine einheitliche input()-Funktion ein, die sich konsistent mit raw_input() aus Python 2.x verhält. Daher würde die Verwendung von Python 3.x in diesem Szenario die Notwendigkeit von raw_input() überflüssig machen.

# Python 3.x
Name = input('What is your Name? ')
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3