Pourquoi est-ce que j'obtiens « NameError : le nom n'est pas défini » en Python ?

DDD
Libérer: 2024-11-01 10:37:30
original
501 Les gens l'ont consulté

Why am I getting

Correction de "NameError : le nom n'est pas défini" en Python

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>
Copier après la connexion

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>
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!