


Pourquoi `input()` provoque-t-il une `NameError` dans Python 2.7 et comment puis-je y remédier ?
Erreur input() : la résolution de l'erreur NameError « Nom » n'est pas défini
En essayant d'exécuter un script simple, les utilisateurs peuvent rencontrer l'erreur suivante :
NameError: name '...' is not defined
Cette erreur survient lors de l'utilisation de Python 2.7 avec la fonction input(), qui évalue les entrées de l'utilisateur en tant qu'expression Python. Lorsqu'on attend une entrée de chaîne, cette évaluation peut prêter à confusion.
Spécificité de Python 2.7
Python 2.7 offre deux options pour la saisie de l'utilisateur :
- entrée : évalue l'entrée en tant que Python expression.
- raw_input : lit l'entrée sous forme de chaîne sans évaluation.
Dans Python 2.7, ce qui suit est vrai :
input = eval(raw_input)
Par conséquent, lors de l'utilisation de input("Entrez votre nom : "), la chaîne d'entrée, par exemple "mec", est évaluée comme une variable nom. Si aucune variable nommée "dude" n'existe dans le script, l'erreur est générée.
Problèmes de sécurité avec input() de Python 2.7
La fonctionnalité d'évaluation de input() pose des implications de sécurité. Par exemple, si le module os est importé et que l'utilisateur saisit "os.remove("/etc/hosts")", cette expression Python est exécutée et pourrait potentiellement endommager le système.
Python 3.x et Beyond
Dans Python 3.x, il n'y a qu'une seule fonction input(), qui imite essentiellement raw_input() de Python 2.7. Cela élimine l'aspect évaluation et simplifie le processus de saisie.
Solution et recommandations
Pour résoudre l'erreur NameError dans Python 2.7 lors de la lecture des entrées de chaîne, il est conseillé d'utiliser la fonction raw_input au lieu de input. Cela garantit que l'entrée est traitée comme une chaîne et non évaluée comme une expression Python. Si un traitement ou une conversion supplémentaire est nécessaire, des fonctions appropriées peuvent être utilisées pour gérer l'entrée de chaîne.
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!

ForhandlingLargedatasetSInpython, UsenumpyArraysforbetterperformance.1) NumpyArraysAremeMory-EfficientAndFasterFornumericalOperations.2) EvitUnneceSsaryTypeConversions.3) Le effet de levier

Inpython, listSusedynamicMemoryallocation withover-allocation, whileLumpyArraySallocateFixedMemory.1) listsallocatemoreMoryThreededEdededInitialement, redimensipwenessary.2) NumpyArraySallocateExactMemoryForElements, offrantwectable usinessflexibilité.

Inpython, YouCanscthedatatatypeyfelemememedenernSspant.1) usenpynernrump.1) usenpynerp.dloatp.ploatm64, formateur préséconstrolatatype.

NumpyissentialFornumericalComputingInpythondutOtsSpeed, MemoryEfficiency et ComprehenSiveMathematicalFunctions.1) It'sfastBecauseitPerformSoperations INC.2) NumpyArraySareMoremory-EfficientThanpythonlists.3)

ContigusMymoryallocationiscrucialforAraySBauseitallowsforefficient andfastelementAccess.1) iTenablesConstanttimeAccess, o (1), duetoDirectAddressCalculation.2) itimproveScacheefficiendyAllowingMultipleElementFetchesperCacheline.3) itsimplieniesMemorymorymorymorymorymory

SlitingyPapyThonListIsDoneUsingTheSyntaxList [Démarrage: arrêt: étape] .He'showitworks: 1) startisheindexofthefirStelementoinclude.2) stopisTheIndexoftheFirstelementsoexclude.3) StepistheincrementBetweenselans.it'susefulfactingPortationSoListShsandCanusegeg

NumpyAllowsForvariousOperations ONARRAYS: 1) BasicarithmeticLikeaddition, Soustraction, Multiplication, anddivision; 2) AdvancedOperationSuchasmatrixMultiplication; 3) Element-Wiseoperations withoutExplicitloop

ArraySinpython, en particulier ThroughNumpyandPandas, aressentialfordataanalysis, offingspeeedAfficiency.1) numpyarrayablefficienthandlingoflargedatasetsandComplexOperationsLikEMoVingAverages.2)


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Version Mac de WebStorm
Outils de développement JavaScript utiles

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 Linux nouvelle version
Dernière version de SublimeText3 Linux
