Dieser Code (der gesamte Code, den Sie geschrieben) sollte perfekt funktionieren, weil der Name a
wurde in den globalen Bereich eingeführt:
def a():
print("hi")
def b():
a()
b() # call b, which in turn calls a
Aber dieser Code (was Sie wahrscheinlich von zitieren) ausfallen sollte, weil der Name a
a Mitglied von C
. Mitgliedernamen sind in ihrem Umfang nicht innerhalb anderen Mitgliederfunktionen:
class C:
def a():
print("hi")
def b():
a()
o = C()
o.b() # should fail for several reasons.
auch zur Kenntnis, dass im Gegensatz zu C++ oder Java impliziten this
Zeigern, die self
Referenz immer explizit verwendet werden muss. Versuchen Sie dies stattdessen:
class C:
def a(self):
print("hi")
def b(self):
self.a()
o = C()
o.b() # calls C.b(o), which in turn calls C.a(o)
Sie rufen methodA und die Methode heißt? – AK47
Ist es in einer Klasse? Versuchen Sie 'def b (self): self.a()' –
Es funktioniert völlig gut für mich, und IIRC, gibt es keine 'Unsolved Reference' Fehler in Python? – noteness