Python: NameError: Der globale Name 'foobar' ist nicht definiert

Ich geschrieben habe die folgende Klasse:

class myClass(object):
    def __init__(self):
        pass

    def foo(self, arg1, arg2):
        pp = foobar(self, arg1, arg2)
        if pp:
            return 42
        else
            return -666


    def foobar(self, arg1, arg2):
        if arg1 == arg2:
            return 42
        else:
            return None

Die Logik ist unsinnig - es zu ignorieren. Was ich versuche zu, so ist der Aufruf einer Instanz-Methode von einer anderen Instanz-Methode - und ich bin immer ein NameError. Ich ursprünglich dachte, dass dies durch foo() aufrufen foobar() bevor es definiert war - aber die Umschaltung der Reihenfolge der Funktionsdefinitionen in das Skript keinen Unterschied gemacht.

Nicht jemand, woran dieser Fehler liegt und wie man es beheben?

InformationsquelleAutor der Frage skyeagle | 2010-11-01

Schreibe einen Kommentar