Python >> Tutoriel Python >  >> Python

Python raw_input() contre input()

Résumé : Les principales différences entre raw_input() et input() les fonctions sont les suivantes :

  • raw_input() ne peut être utilisé que dans Python 2.x et est obsolète dans Python 3.x et supérieur et a été renommé input()
  • En Python 2.x, raw_input() renvoie une chaîne alors que input() renvoie le résultat d'une évaluation. En Python 3.x input() renvoie une chaîne mais peut être converti en un autre type comme un nombre.

Aperçu

Avant de regarder les différences entre raw_input() et input() , comprenons pourquoi nous en avons besoin !

Un code convivial est un code interactif. Pour rendre un code interactif au lieu de valeurs de codage en dur, un développeur/programmeur doit viser à permettre à l'utilisateur d'entrer ses propres valeurs dans le programme. Nous utilisons le raw_input() et input() fonctions pour accepter les entrées de l'utilisateur.

Exemple : Le programme suivant est un exemple pour accepter l'entrée de l'utilisateur en Python :

name = input("Please enter your full name: ")
age = input("Please enter your age: ")
# In Python2.x use raw_input() instead

print("Name: ", name)
print("Age: ", age)

Sortie

Please enter your full name: FINXTER
Please enter your age: 25
Name:  FINXTER
Age:  25

Dans cet article, nous discuterons des principales différences entre le input() et raw_input() les fonctions. Passons donc à la question essentielle :

Problème : Quelle est la différence entre raw_input() et input() en Python ?

Examinons en profondeur chaque différence une par une :

Différence existentielle

raw_input() entrée()
Fonction intégrée présente uniquement dans Python 2.x et ne fait pas partie de Python 3.x Fonction intégrée présente à la fois dans Python 2.x et Python 3.x

Différence fonctionnelle basée sur les versions Python

Python 2.x Python 3.x
raw_input() raw_input() accepte l'entrée telle quelle, c'est-à-dire exactement telle que l'entrée a été saisie par l'utilisateur et renvoie une chaîne.

◆ Puisqu'il accepte l'entrée telle quelle, il ne s'attend pas à ce que l'entrée soit syntaxiquement correcte.
raw_input() est obsolète et ne fait plus partie de Python 3.x et supérieur.
entrée() entrée() accepte l'entrée de l'utilisateur sous forme d'instruction ou d'expression et renvoie la sortie après avoir évalué l'entrée. En d'autres termes, il accepte l'entrée de l'utilisateur en tant que raw_input(), effectue un eval() dessus, puis renvoie le résultat en sortie.

◆ Il attend une entrée syntaxiquement correcte (instruction/expression) de la part de l'utilisateur.
◆ En Python 3.x, raw_input() a été remplacé par entrée() . Cela signifie que la fonction input() effectue la même opération en Python 3.x que raw_input() utilisé pour faire en Python 2.

Ainsi input() accepte et renvoie une chaîne en Python 3.x et supérieur.

Exemples

Python 2.x

fonction input()

a = raw_input("What is your name? ")
print "Name: %s" %a)
b = raw_input(" Enter a mathematical expression: ")
print Output":  %d", %b

Sortie

What is your name? Finxter
Name:  Finxter
 Enter a mathematical expression: 2+5
Output:  2+5

fonction raw_input()

a = input("Enter Your Full Name: ")
print "Name: %s " %a
b = input("Enter a Mathematical Expression: ")
print "Output: %d" %b

Sortie

Enter Your Full Name: 'Finxter Shubham'
Name: Finxter Shubham
Enter a Mathematical Expression: 5**2
Output: 25

Python 3.x Et au-dessus

fonction input()

a = input("What is your name? ")
print("Name: ", a)
b = input("Enter a mathematical expression: ")
print("Output: ", b)

Sortie

What is your name? Finxter Shubham
Name:  Finxter Shubham
Enter a mathematical expression: 3+5
Output:  3+5

Curiosité

Si vous souhaitez implémenter ou exploiter la fonctionnalité de input() de Python 2.x dans Python 3.x et évaluez l'instruction saisie par l'utilisateur, vous pouvez utiliser l'une des procédures suivantes :

  • Conversion de type :int(input("Entrez la valeur"))
  • Utiliser eval(input("Enter Value"))

Exemple

a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
print("Addition: ", a+b)
x = eval(input("Enter a mathematical expression: "))
print("Result: ", x)

Sortie :

Enter first number: 25
Enter second number: 75
Addition:  100
Enter a mathematical expression: 10**2
Result:  100

Mais vous devez éviter l'utilisation de eval() fonction à moins que cela ne soit nécessaire car il présente un grave inconvénient.

Je vous recommande vivement de lire cet article en lien avec ce sujet. Cela vous aidera à avoir une compréhension plus large de ce concept. De plus, si vous vous interrogez sur la version de python installée sur votre système, vous pouvez consulter cet article.

Conclusion

Dans cet article, nous avons discuté des principales différences entre input() et raw_input() en termes de fonctionnalité et d'existence dans différentes versions de Python avec leurs exemples. J'espère que tous vos doutes concernant la différence entre input() et raw_input() ont été clarifiés après avoir lu cet article.

Veuillez rester à l'écoute et vous abonner pour des articles plus intéressants !