una - Python: NameError: el nombre global ''foobar'' no está definido
saber si una variable existe en python (1)
Python no aplica el código de alcance a la clase local automáticamente; tienes que decírselo.
pp = self.foobar(arg1, arg2)
He escrito la siguiente clase:
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
La lógica no tiene sentido, ignórela. Lo que intento hacer es llamar a un método de instancia desde otro método de instancia, y NameError
un NameError
. Originalmente pensé que esto se debía a que foo()
llamaba a foobar()
antes de que se definiera, pero cambiar el orden de las definiciones de función en el script no cambiaba nada.
¿Alguien está causando este error y cómo solucionarlo?