[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