Nodo de Python aquí. ¿Cómo puedo obtener la función 'interna' dentro de la función 'fib'?Acceder a una función dentro de una función (función anidada?)
from time import sleep
class Fibonacci(object):
def __init__(self, a, b, limit=50):
self.a = a
self.b = b
self.limit = limit
def fib(self):
while self.a < self.limit:
c = self.a + self.b
sleep(1)
print self.a,
self.b = self.a
self.a = c
def inner(self):
print 'Damn it! Just print already!'
j = Fibonacci(0,1,2)
j.fib()
## This doesn't work. Gives an "AttibuteError: 'function' object has no attribute 'inner'"
j.fib.inner()
Mi Python es oxidado, pero estoy bastante seguro de que no se puede acceder desde fuera inner' '' de fib', sin necesidad de cambiar la forma en 'inner' se define. –
seykom, Necesita aceptar respuestas a más de sus preguntas. Haga clic en la marca de verificación junto a la respuesta que más le ayudó. Debería hacer esto tanto para sus viejas preguntas como para las nuevas. – agf
¿Por qué necesita hacer esto? ¿Has considerado simplemente no anidar las funciones? Especialmente dado que la interfaz para 'inner' parece que quieres que sea un método de un objeto' Fibonacci' ... no funcionará así como una función interna ... –