[pyar] Accesar dentro de una función anidada.
Kiko
kikocorreoso en gmail.com
Mar Mayo 10 06:14:20 ART 2011
>
> >>> def uno():
> ... def dos():
> ... def tres():
> ... print "tres"
> ... dos()
> ...
> >>> uno()
> >>> import dis
> >>> dis.dis(uno)
> 2 0 LOAD_CONST 1 (<code object dos at
> 0x75b8b0, file "<stdin>", line 2>)
> 3 MAKE_FUNCTION 0
> 6 STORE_FAST 0 (dos)
>
> 5 9 LOAD_FAST 0 (dos)
> 12 CALL_FUNCTION 0
> 15 POP_TOP
> 16 LOAD_CONST 0 (None)
> 19 RETURN_VALUE
> >>> dis.dis(uno.func_code.co_consts[1])
> 3 0 LOAD_CONST 1 (<code object tres at
> 0x75b830, file "<stdin>", line 3>)
> 3 MAKE_FUNCTION 0
> 6 STORE_FAST 0 (tres)
> 9 LOAD_CONST 0 (None)
> 12 RETURN_VALUE
> >>> dis.dis(uno.func_code.co_consts[1].co_consts[1])
> 4 0 LOAD_CONST 1 ('tres')
> 3 PRINT_ITEM
> 4 PRINT_NEWLINE
> 5 LOAD_CONST 0 (None)
> 8 RETURN_VALUE
> >>> exec(uno.func_code.co_consts[1].co_consts[1])
> tres
> >>>
>
> Pero en serio... no querés hacer eso.
> De ninguna manera.
>
Craf, ¿tienes el problema concreto que quieres solucionar? Quizá viéndo algo
más se pueda aportar una solución más correcta.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110510/becb4434/attachment.html>
More information about the pyar
mailing list