Pourquoi est-ce que je reçois une « NameError : le nom n'est pas défini » dans mon script Python ?

Susan Sarandon
Libérer: 2024-10-30 09:35:27
original
949 Les gens l'ont consulté

Why am I getting a

Python NameError : résolution des problèmes de définition de nom

Lors de l'exécution d'un script Python, vous pouvez rencontrer l'erreur « NameError : le nom n'est pas défini. " Cette erreur signifie que le script ne peut pas localiser le nom ou l'identifiant spécifié dans l'espace de noms du programme. Explorons la cause première de cette erreur et identifions sa solution.

L'extrait de code donné illustre ce problème :

s = Something()
s.out()

class Something:
    def out(self):
        print("it works")
Copier après la connexion

Lors de l'exécution de ce script, l'interpréteur rencontre le message "NameError: name ' Quelque chose n'est pas défini" exception. En effet, la classe Something n'est pas définie avant d'être instanciée en tant qu'objet. Pour résoudre ce problème, la définition de la classe doit précéder son utilisation :

class Something:
    def out(self):
        print("it works")

s = Something()
s.out()
Copier après la connexion

En définissant la classe avant de tenter de créer une instance, l'interprète peut reconnaître avec succès Something et instancier l'objet s.

De plus, notez que les méthodes d'instance en Python nécessitent l'argument self comme premier paramètre. Ce paramètre représente l'instance de la classe qui appelle la méthode. Dans le code fourni, la méthode out ne passait pas self comme premier argument, ce qui entraînerait une autre erreur de type.

En suivant ces directives, vous pouvez éviter l'exception « NameError : le nom n'est pas défini » et assurez-vous que vos scripts Python s'exécutent avec succès.

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