Maison > développement back-end > Tutoriel Python > Pourquoi est-ce que je reçois une erreur NameError lors de l'utilisation de la fonction d'entrée de Python ?

Pourquoi est-ce que je reçois une erreur NameError lors de l'utilisation de la fonction d'entrée de Python ?

Mary-Kate Olsen
Libérer: 2024-12-20 00:54:09
original
808 Les gens l'ont consulté

Why Am I Getting a NameError When Using Python's Input Function?

NameError : Nom « Variable d'entrée » non défini lors de l'utilisation de la fonction d'entrée

En Python, la fonction d'entrée vous permet de capturer les entrées de l'utilisateur. Cependant, si vous rencontrez une erreur NameError lors de l'utilisation de la fonction d'entrée, cet article en explore la cause et propose des solutions.

Python 2.7 vs. 3.x

Dans Python 2.7 , il y avait deux fonctions pour l'entrée : input et raw_input. La fonction d'entrée évaluerait l'entrée en tant qu'expression Python, tandis que raw_input capturait simplement l'entrée sous forme de chaîne.

Dans Python 3.x, raw_input a été renommé input. Cependant, la nouvelle fonction d'entrée se comporte désormais comme l'ancienne raw_input, lisant une ligne de l'entrée standard et la renvoyant sous forme de chaîne.

Dépannage de NameError dans Python 2.7

Si vous recevez une erreur NameError lors de l'utilisation de la fonction d'entrée dans Python 2.7, cela suggère que la variable à laquelle vous essayez d'attribuer l'entrée n'existe pas dans le contexte Python actuel. L'erreur de nom se produit lorsque vous tentez d'évaluer l'entrée en tant qu'expression Python mais que vous échouez en raison d'une variable non définie.

Considérations de sécurité dans Python 2.7

La capacité du La fonction de saisie pour évaluer les entrées de l'utilisateur présente également un risque de sécurité. Si votre script charge des modules avec des privilèges élevés, les entrées utilisateur contenant du code malveillant pourraient compromettre votre système.

Solution

Pour éviter l'erreur NameError et atténuer les risques de sécurité, utilisez raw_input fonction dans Python 2.7 à la place. Cette fonction capture simplement l'entrée sous forme de chaîne, sans l'évaluer. Si vous devez convertir l'entrée en un type de données spécifique, vous pouvez utiliser des fonctions appropriées comme int() pour les entiers.

Dans Python 3.x, vous pouvez utiliser la fonction d'entrée, qui se comporte désormais comme raw_input dans Python 2.7.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal