[pyar] shared namespaces y la curiosidad que mata al gato

Dario Ocles dario.ocles en gmail.com
Jue Mar 24 00:05:01 ART 2011


El día 23 de marzo de 2011 23:30, Martin Cerdeira
<martincerdeira en gmail.com> escribió:
> La idea/pregunta que se me ocurrió mientras leía un libro (si, a veces
> la mente navega por otros rumbos) es la siguiente:
>
> Se puede hacer esto? (o similar)
>
> def foo():
>    a = 1
>    b = 2
>    c = 3
>    print bar(el_namespace_de_foo) # Sintaxis inexistente
>
> def bar(n):
>    setear el_namespace_de_bar = n # Sintaxis especial, no existe
>    return a + b + c
>
> Esto deberia dar como resultado un 6, ya que, bar() tendria 'acceso' a
> las variables definidas en foo()

Algo así?

In [1]: def bar(**kwargs):
   ...:     return kwargs['a'] + kwargs['b'] + kwargs['c']
   ...:

In [2]: def foo():
   ...:     a = 1
   ...:     b = 2
   ...:     c = 3
   ...:     return bar(**locals())
   ...:

In [3]: foo()
Out[3]: 6

>
> Es decir, al margen de que esto se puede resolver usando muchas muchas
> muchasss otras soluciones, mi pregunta es, se le puede pasar el
> namespace de una funcion a otra??
>

Lo que te pase es una forma de hacerlo, aunque no es exactamente lo
que decis cumple con el comportamiento.

> No lo quiero para nada en especial, no pido consejos de como resolver
> ese ejemplo, ni saber si algo asi seria o no util, no hay un 'para
> que', solo una pregunta simple y pura, hay manera de hacer eso? Si es
> si, como? =)
>
> Simple y pura curiosidad.
> -------------------------------------
> Martín Cerdeira - Software Developer
> [web] http://www.codmacs.blogspot.com/
> ()  ascii ribbon campaign
> /\  www.asciiribbon.org
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>



More information about the pyar mailing list