En Python, une erreur "NameError : le nom n'est pas défini" se produit lorsque vous tentez d'accéder à une variable ou une classe qui n'a pas été préalablement déclarée ou définie dans le code. Pour résoudre ce problème, une définition et une déclaration appropriées des variables et des classes sont essentielles.
Examinons l'extrait de code que vous avez fourni :
<code class="python">s = Something() s.out() class Something: def out(): print("it works")</code>
L'erreur est causée par le fait que la classe Something est défini après il est utilisé pour créer une instance de lui-même. En Python, l'interpréteur interprète le code ligne par ligne, donc la classe Something n'est pas encore connue au moment où la ligne "s = Something()" est exécutée.
Pour résoudre ce problème, vous devez définissez la classe avant de l'utiliser. Voici le code corrigé :
<code class="python">class Something: def out(self): print("it works") s = Something() s.out()</code>
Notez que nous avons également ajouté self comme premier argument de la méthode out. Ceci est nécessaire pour les méthodes d'instance en Python, qui fonctionnent sur une instance d'objet spécifique. En passant self comme premier argument, la méthode peut accéder aux attributs de l'instance et modifier l'état de l'objet.
Avec ces corrections, le code s'exécutera sans NameError et affichera "ça marche" comme prévu.
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!