hacer la función

Hola soy nuevo en la programación funcional. Lo que hice es

>>> g=lambda x:x*2
>>> f=g
>>> g=lambda x:f(f(x))
>>> g(9)
36

Ahora, no está creandog como una función recursiva no terminante -g(x) Se transforma en una nueva función que da el resultado.g(g(x)).

>>> f=g
>>> g=lambda x:f(f(x))
>>> f(8)
RuntimeError: maximum recursion depth exceeded

Esperabag Para ser transformado en una función que da el resultado.g(g(g(x))), según la primera definición de g (x). ¿Por qué no? ¿Es posible hacer una nueva función que resulte eng(g(g(...(g(x))....))) ¿Para un cierto número de iteraciones de esta manera?

Respuestas a la pregunta(3)

Su respuesta a la pregunta