Vereinheitlichung von raw_input() und input() in Python 3
Frage: Was ist der Unterschied zwischen raw_input( ) und input() in Python 3?
Antworten in Python:
# In Python 2.x: >>> type(raw_input('What is your name? ')) <type 'str'> # In Python 3.x: >>> type(input('What is your name? ')) <type 'str'>
Vor Python 3.x dienten raw_input() und input() unterschiedlichen Zwecken. raw_input() empfing rohe Benutzereingaben als String, während input() die Eingabe als Python-Code auswertete.
Klarstellung in Python 2.x:
# Python 2.x # Get user input as a string using raw_input() name = raw_input('Enter your name: ') # Evaluate user input as Python code using input() age = input('Enter your age: ') # Returns an int
In Python 3.x wurde die Unterscheidung jedoch aufgehoben. Das ursprüngliche raw_input() wurde in input() umbenannt. Der vorherige input() wurde entfernt, kann jedoch mit eval(input()) repliziert werden.
Achtung: Während eval(input()) das vorherige Verhalten von simulieren kann input() ist es wichtig, bei der Auswertung von Benutzereingaben als Code Vorsicht walten zu lassen. Eval() birgt inhärente Sicherheitsrisiken und sollte mit Bedacht verwendet werden. Sicherere Alternativen zum Parsen von Benutzereingaben sollten nach Möglichkeit Vorrang haben.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „raw_input()' und „input()' in Python 2 und wie werden sie in Python 3 vereinheitlicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!