Seite 1 von 1

global name is not defined

Verfasst: Mittwoch 6. Mai 2009, 13:42
von 4bit
Huhu,

falls es an der Struktur liegt: die sieht so aus

Code: Alles auswählen

Class Application(..)
     def transition(..):
     def createWidgets(..):
          ...
          transition(..)
          ...
     def __init__(..):
Jedenfalls steigt der Compiler beim Aufruf von transition in createWidgets aus, mit der Fehlermeldung:
NameError: global name 'transition' is not defined

Vorhin hat der Aufbau aber genauso funktioniert. Kennt Jemand diesen Fehler?

Danke,
[/4bit]

Verfasst: Mittwoch 6. Mai 2009, 13:47
von cofi
1. Sollte man zumindest die komplette Funktionssignatur posten, wenn man schon Code kürzt.
2. Ist `translation` wohl eine Methode - und hier kommt die Signatur ins Spiel, denn ohne die kann man das aber nicht sicher sagen.
Versuch mal `self.transition(...)` statt `transition(...)`

P.S. Schau dir mal [wiki]PEP 8 (Übersetzung)[/wiki] und oder das Orginal an.

Re: global name is not defined

Verfasst: Mittwoch 6. Mai 2009, 13:48
von numerix
4bit hat geschrieben:Vorhin hat der Aufbau aber genauso funktioniert. Kennt Jemand diesen Fehler?
Nein, das hat so garantiert nie funktioniert.

transition() soll vermutlich die Methode einer Application-Instanz sein/werden, also musst du sie auch so aufrufen. Falls dir das nicht hilft: Lies mal den Abschnitt im Tutorial über OOP.

Und: Falsches Unterforum ...

Verfasst: Mittwoch 6. Mai 2009, 13:55
von 4bit
Seltsam, vorhin hat der Aufbau wirklich genau so funktioniert.. Ich bin mir aber sicher, daß ich nicht "self." weggenommen hätte..

Die Funktion transition im globalen Bereich definiert "funktioniert" ohne Fehlermeldung.

Anyways,

Danke.