[pyar] chancheando con globals() [era: local vs global]

Angel Java Lopez ajlopez2000 en gmail.com
Mar Ago 13 16:17:29 ART 2013


Ah! Mira vos... lo probe pero solo en el modulo actual.

En otros entornos, es la forma de sembrar algo global (ie
JavaScript/Node.js)

Algo entonces para tener en cuenta en el lenguaje y su implementacion.
Hmmm... voy a tener que anotarmelo para la implementacion que tengo

Gracias por el ejemplo

Nos leemos!

Angel "Java" Lopez
@ajlopez



2013/8/13 Marcos Dione <mdione en grulic.org.ar>

> On Tue, Aug 13, 2013 at 02:35:57PM -0300, Angel Java Lopez wrote:
> > Sin saber mucho de Python, el caso que imagino es que en globals dejes
> algo
> > en un modulo, que otro modulo pueda consumir sin tener que declararlo o
> sin
> > tener que importar el primer modulo explicitamente.
>
>     la verdad es que esto está fuera de lo que pregunté inicialmente,
> pero es bueno ver los bordes del lenguaje.
>
> > Ejemplo, en un modulo declaro
> >
> > def foo():
> >   return 1
> >
> > Lo pongo como global
> >
> > globals()['bar'] = foo
> >
> > En cualquier otro lugar puedo usar ahora
> >
> > bar()
> >
> > sin tener que importar ni nada. Parece que funciona como si fuera un
> > builtin()
>
>     lo probaste? siendo tan fácil de probar esto en python, al menos
> vale la pena hacerlo...
>
> > Algun ejemplo de este uso? Funciona como digo?
>
>     veamos:
>
> --- 8< moo.py ---
> def foo ():
>     return 1
>
> globals()['bar']= foo
> ------ >8 -------
>
> --- >8 baz.py ---
> import moo
>
> print (bar ())
> ------ 8< -------
>
>     no, no funka:
>
> mdione en diablo:~/src/projects/ayrton/tmp$ python3 baz.py
> Traceback (most recent call last):
>   File "baz.py", line 3, in <module>
>     print (bar ())
> NameError: name 'bar' is not defined
>
>     esto es porque globals() sólo devuelve el diccionario global del
> módulo actual, cuyo cambio no se vé reflejado en el resto.
>
> --
> (Not so) Random fortune:
> [12:32] <xanthus> el viaje mas largo que hice fue cuando sali del vientre
> de mi
>     madre
> _______________________________________________
> 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/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130813/e0e51596/attachment.html>


More information about the pyar mailing list