In einem Tutorial habe ich gelesen, dass zwischen input
und raw_input
ein Unterschied besteht. Ich entdeckte, dass sie das Verhalten dieser Funktionen in Python 3.0 geändert haben. Was ist das neue Verhalten?
Und warum im Python-Konsolen-Interpreter dies
%Vor%Sendet einen Fehler, aber wenn ich es in ein file.py stecke und es ausführe, tut es das nicht?
In% python 2.x gibt raw_input()
eine Zeichenfolge zurück und input()
wertet die Eingabe im Ausführungskontext aus, in dem sie aufgerufen wird
In Python 3.x wurde input
verschrottet und die zuvor als raw_input
bekannte Funktion ist jetzt input
. Sie müssen also compile
und eval
manuell aufrufen, wenn Sie die alte Funktionalität möchten.
In 3.x geht die obige Sitzung so
%Vor%Sie haben wahrscheinlich einen Fehler beim Interpreter bekommen, weil Sie keine Eingaben in Ihre Eingabe geschrieben haben. Dies ist notwendig, weil es ausgewertet wird. Wo bekommen Sie einen Namensfehler?
input () vs raw_input ()
raw_input sammelt die vom Benutzer eingegebenen Zeichen und stellt sie als Zeichenfolge dar. input () wertet nicht nur Zahlen aus, sondern behandelt jede Eingabe als Python-Code und versucht sie auszuführen. Sachkundige, aber böswillige Benutzer könnten einen Python-Befehl eingeben, der sogar eine Datei löschen kann. Bleiben Sie bei raw_input () und konvertieren Sie die Zeichenfolge in den Datentyp, den Sie mit Pythons integrierten Konvertierungsfunktionen benötigen.
Auch Eingabe (), ist nicht vor Benutzerfehlern sicher! Er erwartet einen gültigen Python-Ausdruck als Eingabe; Wenn die Eingabe nicht syntaktisch gültig ist, wird ein SyntaxError ausgelöst.
Es ist einfach:
raw_input()
gibt Stringwerte input()
gibt ganzzahlige Werte zurück Zum Beispiel:
1.
%Vor%Ausgabe:
%Vor%2.
%Vor%Ausgabe:
%Vor% Wenn wir also x + x =
ausführen, wird es als 123123
Wenn wir y + y =
ausführen, wird es als 246
Tags und Links python