Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen raw_input() und input()
raw_input und input sind beide integrierte Funktionen von Python, die mit dem Benutzer interagieren, indem sie Eingaben von der Konsole lesen. Aber ihre Funktionen sind nicht die gleichen. Hier sind zwei Beispiele, um den Unterschied in der Verwendung zu veranschaulichen.
Beispiel 1
Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> >>> raw_input_A = raw_input("raw_input: ") raw_input: PythonTab.com >>> print raw_input_A PythonTab.com >>> input_A = input("Input: ") Input: PythonTab.com Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'PythonTab' is not defined >>> >>> input_A = input("Input: ") Input: "PythonTab.com" >>> print input_A PythonTab.com >>>
Beispiel 2
Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> >>> raw_input_B = raw_input("raw_input: ") raw_input: 2015 >>> type(raw_input_B) <type 'str'> >>> input_B = input("input: ") input: 2015 >>> type(input_B) <type 'int'> >>>
Beispiel 1 Wie Sie sehen: Beide Funktionen können Zeichenfolgen empfangen, aber raw_input() liest sie direkt. Nimmt Eingaben entgegen von der Konsole aus (sie kann jede Art von Eingabe akzeptieren). Bei input() wird erwartet, dass ein zulässiger Python-Ausdruck gelesen werden kann. Das heißt, Sie müssen ihn in Anführungszeichen setzen, wenn Sie eine Zeichenfolge eingeben, andernfalls wird ein SyntaxError ausgelöst.
Beispiel 2 Sie sehen: raw_input() behandelt alle Eingaben als Strings und gibt den String-Typ zurück. Und input() hat seine eigenen Eigenschaften, wenn es um reine numerische Eingaben geht. Gleichzeitig kann input(), wie in Beispiel 1 gezeigt, zulässige Python-Ausdrücke akzeptieren Beispiel: input( 1 3) gibt 4 vom Typ int zurück.
Schauen Sie sich das Python-Handbuch an und lernen Sie:
input([prompt])
Entspricht eval(raw_input(prompt))
input()-Essenz Es wird immer noch mit raw_input() implementiert. Rufen Sie einfach die Funktion eval() auf, nachdem Sie raw_input() aufgerufen haben. Sie können also sogar einen Ausdruck als Parameter von input() verwenden, und der Wert des Ausdrucks wird berechnet und zurückgegeben.
Es gibt jedoch einen Satz in den integrierten Funktionen, der besagt: Erwägen Sie die Verwendung der raw_input()-Funktion für allgemeine Eingaben von Benutzern.
Es sei denn, es besteht ein besonderer Bedarf an input(), andernfalls Unter normalen Umständen empfehlen wir die Verwendung von raw_input() für die Interaktion mit Benutzern.