Supongamos que tengo una jerarquía de funciones, quiero poder acceder (¡no cambiar!) el alcance de los padres. Aquí hay un ejemplo ilustrativo.Leyendo el alcance de un padre en python
def f():
a = 2
b = 1
def g():
b = 2
c = 1
print globals() #contains a=1 and d=4
print locals() #contains b=2 and c=1, but no a
print dict(globals(), **locals()) #contains a=1, d=4 (from the globals), b=2 and c=1 (from g)
# I want a=2 and b=1 (from f), d=4 (from globals) and no c
g()
a = 1
d = 4
f()
¿Puedo acceder a f
's alcance desde dentro g
?
Tiene un código de ejemplo allí. Podrías probarlo. –
Creo que esto sería interesante para ti: http://ynniv.com/blog/2007/08/closures-in-python.html – fuaaark
@arxanas El código de ejemplo que tengo no lo hace, sin embargo ilustra el problema, consulte la línea 10. –