[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