J'ai un script python et je reçois le message d'erreur suivant:
Traceback (most recent call last):
File "C:\Users\Tim\Desktop\pop-erp\test.py", line 1, in <module>
s = Something()
NameError: name 'Something' is not defined
Voici le code qui cause le problème:
s = Something()
s.out()
class Something:
def out():
print("it works")
Ceci est exécuté avec Python 3.3.0 sous Windows 7 x86-64.
Pourquoi la classe Something
ne peut-elle pas être trouvée?
Définissez la classe avant de l'utiliser:
class Something:
def out(self):
print("it works")
s = Something()
s.out()
Vous devez passer self
comme premier argument à toutes les méthodes d'instance.
Vous devez définir la classe avant de créer une instance de la classe. Déplacez l'invocation de Something
à la fin du script.
Vous pouvez essayer de mettre la charrue avant les boeufs et d’invoquer des procédures avant qu’elles ne soient définies, mais ce sera un vilain bidouillage et vous devrez rouler la vôtre comme défini ici:
Définit la définition de la fonction dans un ordre de fichier python indépendant