Heim >Backend-Entwicklung >Python-Tutorial >Warum löst mein Python 2.7-Code einen NameError aus, wenn er Benutzereingaben entgegennimmt?
Benutzereingaben als String in Python 2.7 abrufen
Beim Versuch, Benutzereingaben zu erhalten und diese als String zu bearbeiten, ohne sie in Anführungszeichen zu setzen , können Benutzer aufgrund der Standardeingabefunktion von Python 2.7 auf Probleme stoßen.
Problem:
Bedenken Sie den folgenden Code:
<code class="python">testVar = input("Ask user for something.")</code>
Wenn Wenn ein Benutzer „Hallo“ eingibt, löst der Code einen Fehler aus:
<code class="python">NameError: name 'Hello' is not defined</code>
Dies liegt daran, dass input() die Eingabe als Python-Code auswertet.
Lösung:
Um dieses Problem zu beheben, verwenden Sie raw_input() anstelle von input().
<code class="python">testVar = raw_input("Ask user for something.")</code>
raw_input() gibt die vom Benutzer eingegebene wörtliche Zeichenfolge zurück, was eine einfache Manipulation ohne Einschließen ermöglicht Zitate.
Achtung:
Während input() für die Auswertung von Benutzereingaben als Code nützlich sein kann, wird allgemein empfohlen, die Verwendung zu vermeiden und bei raw_input() zu bleiben String-Manipulation.
Das obige ist der detaillierte Inhalt vonWarum löst mein Python 2.7-Code einen NameError aus, wenn er Benutzereingaben entgegennimmt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!