Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung des Unterschieds zwischen raw_input() und input()

Detaillierte Erklärung des Unterschieds zwischen raw_input() und input()

高洛峰
高洛峰Original
2017-03-16 17:13:581645Durchsuche

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 &#39;str&#39;>
>>> input_B = input("input: ")
input: 2015
>>> type(input_B)
<type &#39;int&#39;>
>>>

Beispiel 1 Wie Sie sehen können: Beide Funktionen können String empfangen, aber raw_input( ) liest Eingaben direkt von der Konsole (es kann jede Art von Eingabe akzeptieren). Was input() angeht, hofft es, einen legalen Python-Ausdruck lesen zu können. Das heißt, wenn Sie eine Zeichenfolge eingeben, müssen Sie diese in Anführungszeichen setzen. 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. Es gibt gleichzeitig den Typ der eingegebenen Zahl zurück (int, float); Akzeptieren Sie zulässige Python-Ausdrücke. Formel, zum Beispiel: input(1 + 3) gibt 4 vom Typ int zurück.

Sehen Sie sich das Python-Handbuch an und erfahren Sie:

input([prompt])

Entspricht eval(raw_input(prompt))

Input() wird im Wesentlichen mit raw_input() implementiert. Es ruft einfach die Funktion eval() nach dem Aufruf von raw_input() auf. Daher können Sie einen Ausdruck sogar als Parameter von input() verwenden und der Ausdruck wird berechnet. Der Wert der Formel und gibt ihn zurück.

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, die Eingabe hat etwas Besonderes( ) Erforderlich, ansonsten empfehlen wir generell die Verwendung von raw_input() zur Interaktion mit Benutzern.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen raw_input() und input(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn