Maison > Article > développement back-end > Pourquoi est-ce que j'obtiens une erreur « NameError : le nom n'est pas défini » lors de l'utilisation d'une classe en Python ?
Python NameError : Dépannage d'une classe non définie
Lorsque vous rencontrez l'erreur "NameError : le nom n'est pas défini" dans Python, cela indique souvent que le Le programme tente d'utiliser une variable ou une classe qui n'a pas été définie ou importée. Dans ce cas, le code illustre l'erreur :
<code class="python">s = Something() Something.out() class Something: def out(): print("it works")</code>
Explication de l'erreur :
La définition de classe pour Something est placée après la ligne où vous tentez de créer un nouvelle instance de Quelque chose. Cela signifie que lorsque l'interpréteur atteint la ligne s = Something(), la classe Something n'a pas encore été définie.
Solution :
Pour résoudre ce problème, vous doit toujours définir les classes avant d'essayer de les utiliser. Dans ce cas, déplacez la définition de classe avant la ligne où vous créez l'instance Something :
<code class="python">class Something: def out(): print("it works") s = Something() Something.out()</code>
Passing Self to Instance Methods :
Dans le code fourni, il manque le paramètre self dans la méthode out. Les méthodes d'instance dans les classes nécessitent self comme premier argument, qui représente l'instance de la classe elle-même. Pour corriger cela, vous devez modifier la définition de la méthode out pour inclure self :
<code class="python">class Something: def out(self): print("it works")</code>
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!