[pyar] [video] En Python tenemos nombres, no variables.

Emiliano Dalla Verde Marcozzi edvm en fedoraproject.org
Vie Jun 6 14:23:14 ART 2014


El 6 de junio de 2014, 14:03, Facundo Batista <facundobatista en gmail.com>
escribió:

> 2014-06-06 12:32 GMT-03:00 Emiliano Dalla Verde Marcozzi
> <edvm en fedoraproject.org>:
>
> > al bindear el nombre 'a' a foo, id(a) me retorna el mismo id que foo
> (porque
> > apunta a foo) pero no me dice
> > donde está / existe 'a'. Me surge esta duda porque mencionaron que los
> > 'nombres' en algún lado se guardan,
> > y algún lugar en la memoria deben ocupar.
>
> Se guardan en un diccionario! O mejor dicho, son las claves de ese
> diccionario que llamamos "espacio de nombre". Y estas claves no son
> más que strings:
>
> >>> def foo(): pass
> ...
> >>> id(foo)
> 3071281956
> >>> espacio_de_nombres = globals()
> >>> type(espacio_de_nombres)
> <class 'dict'>
> >>> espacio_de_nombres['foo']
> <function foo at 0xb7100b24>
> >>> id(espacio_de_nombres['foo'])
> 3071281956
> >>> nombre = [k for k in espacio_de_nombres if k == 'foo'][0]
> >>> nombre
> 'foo'
> >>> id(nombre)
> 3071306496
>
> Slds.
>
You are my hero!
Muchas gracias!


-- 
Broken code @ https://github.com/edvm

<edvm en python.org.ar>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140606/81e6f8b7/attachment.html>


More information about the pyar mailing list