erreur de nom Python

Les NameErrors sont l’un des types d’erreurs Python les plus courants. Lorsque vous démarrez pour la première fois, ces erreurs peuvent sembler intimidantes. Ils ne sont pas trop compliqués. Une NameError signifie que vous avez essayé d’utiliser une variable qui n’existe pas encore.

Dans ce guide, nous allons parler du "nameerror name is notdefined‚" erreur et pourquoi elle est déclenchée. Nous allons parcourir quelques exemples de solutions à cette erreur pour vous aider à comprendre comment la résoudre dans votre code.

Qu’est-ce qu’une erreur de nom ?

Une erreur de nom est générée lorsque vous essayez d’utiliser un nom de variable ou de fonction qui n’est pas valide.

En Python, le code s’exécute de haut en bas. Cela signifie que vous ne pouvez pas déclarer une variable après avoir essayé de l’utiliser dans votre code. Python ne saurait pas ce que vous vouliez que la variable fasse.

L’erreur de nom la plus courante ressemble à ceci :

Analysons quelques causes de cette erreur.

Cause n¬∞1 : Variable ou fonction mal orthographiée Nom

Il est facile pour les humains de passer sous silence les fautes d’orthographe. Nous pouvons facilement dire ce qu’un mot est censé être, même s’il est mal orthographié. Python n’a pas cette capacité.

Python ne peut interpréter que les noms que vous avez correctement orthographiés. En effet, lorsque vous déclarez une variable ou une fonction, Python stocke la valeur avec le nom exact que vous avez déclaré.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi technologique après avoir participé un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

S’il y a une faute de frappe quelque part que vous essayez de référencer cette variable, une erreur sera renvoyée.

Considérez l’extrait de code suivant :

Notre code renvoie :

Pour résoudre ce problème, tout ce que nous avons à faire est de corriger la faute de frappe. Si nous utilisons "print(books)‚", notre code renvoie :

Si vous recevez une erreur de nom, vous devez d’abord vérifier que vous avez correctement orthographié le nom de la variable ou de la fonction.

Cause n¬∞2 : appeler une fonction avant la déclaration

Les fonctions doivent être déclarées avant d’être utilisées, comme les variables, car Python lit le code de haut en bas.

√âcrivons un programme qui appelle une fonction avant qu’elle ne soit déclarée :

Notre code renvoie :

Nous essayons d’appeler print_books() sur la ligne trois. Cependant, nous ne définissons cette fonction que plus tard dans notre programme. Pour corriger cette erreur, nous pouvons déplacer notre déclaration de fonction à un endroit avant de l’utiliser :

Notre code renvoie :

Notre code a imprimé avec succès la liste des livres.

Cause n¬∞3 : Oublier de définir une variable

Au fur et à mesure que les programmes grossissent, il est facile d’oublier de définir une variable. Si vous le faites, une erreur de nom est générée. En effet, Python ne peut pas fonctionner avec des variables tant qu’elles ne sont pas déclarées.

Regardons un programme qui imprime une liste de livres :

Notre code renvoie :

Nous n’avons pas déclaré de variable appelée "books‚". Pour résoudre ce problème, nous devons déclarer "livres‚" avant de l’utiliser dans notre code :

Essayons de réexécuter notre programme et voyons ce qui se passe :

Maintenant que nous avons défini une liste de livres, Python peut imprimer chaque livre de la liste.

Cause n¬∞4 : essayez d’imprimer un seul mot

Pour imprimer un mot en Python, vous devez l’entourer de guillemets simples ou doubles. Cela indique à Python qu’un mot est une chaaîne. Si un mot n’est pas entouré de guillemets, il est traité comme faisant partie d’un programme. Considérez l’instruction print():

"Career Karma est entré dans ma vie quand j’en avais le plus besoin et m’a rapidement aidé à suivre un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Ce code essaie d’imprimer le mot "Livres" sur la console. Le code renvoie une erreur :

Python traite "Livres" comme un nom de variable. Pour résoudre cette erreur, nous pouvons mettre le mot "Livres" entre guillemets :

Python sait maintenant que nous voulons imprimer une chaaîne sur la console. Notre nouveau code renvoie : Books.

Cause n¬∞5 : déclarer une variable hors du champ d’application

Il existe deux champs d’application des variables : local et global.

Les variables locales ne sont accessibles que dans la fonction ou la classe dans laquelle elles sont déclarées. Les variables globales sont accessibles dans tout un programme.

Si vous essayez d’accéder à une variable locale en dehors de la portée dans laquelle elle est définie, une erreur est générée.

Le code suivant doit imprimer une liste de livres suivie du nombre de livres dans la liste :

Notre code renvoie :

Notre code imprime avec succès la liste des livres. Sur la dernière ligne de notre code, une erreur est renvoyée. Bien que nous ayons déclaré la variable "books", nous ne l’avons déclarée qu’à l’intérieur de notre fonction print_books(). Cela signifie que la variable n’est pas accessible au reste de notre programme.

Pour résoudre ce problème, nous pouvons déclarer des livres dans notre programme principal. Cela en fera une variable globale :

Notre code renvoie :

Notre code imprime chaque livre de la liste des "livres". Ensuite, notre code imprime le nombre de livres de la liste en utilisant le len( ) méthode.