Was ist der Unterschied zwischen raw_input () und input () in python3.x?


Answers

In Python 2 gibt raw_input() eine Zeichenfolge zurück, und input() versucht, die Eingabe als Python-Ausdruck auszuführen.

Da das Erhalten eines Strings fast immer das war, was Sie wollten, macht Python 3 das mit input() . Wie Sven sagt, wenn Sie jemals das alte Verhalten wollen, funktioniert eval(input()) .

Question

Was ist der Unterschied zwischen raw_input() und input() in python3.x?




In Python 3 existiert raw_input() nicht, was schon von Sven erwähnt wurde.

In Python 2 wertet die Funktion input() Ihre Eingabe aus.

Beispiel:

name = input("what is your name ?")
what is your name ?harsha

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    name = input("what is your name ?")
  File "<string>", line 1, in <module>
NameError: name 'harsha' is not defined

Im obigen Beispiel versucht Python 2.x, Harsha als Variable und nicht als Zeichenfolge auszuwerten. Um das zu vermeiden, können wir doppelte Anführungszeichen wie "harsha" verwenden:

>>> name = input("what is your name?")
what is your name?"harsha"
>>> print(name)
harsha

raw_input ()

Die Funktion raw_input () `wertet nicht aus, sie liest nur, was immer Sie eingeben.

Beispiel:

name = raw_input("what is your name ?")
what is your name ?harsha
>>> name
'harsha'

Beispiel:

 name = eval(raw_input("what is your name?"))
what is your name?harsha

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    name = eval(raw_input("what is your name?"))
  File "<string>", line 1, in <module>
NameError: name 'harsha' is not defined

Im obigen Beispiel habe ich nur versucht, die Benutzereingabe mit der eval Funktion zu bewerten.






Related