paso de Variables por referencia a funciones

Hern=?ISO-8859-1?Q?=E1n_Mart=ED?=nez Foffani hernan en orgmf.com.ar
Jue Oct 23 10:45:49 CEST 2003


>  >>> x,y = 100,103
>  >>> id(x),id(y)
>  (135734504, 135734516)
>  >>> z = x + 3
>  >>> id(z) == id(y)
>  False
>  >>> z == y
>  True
>
>Y lo "grandes" que han de ser estos números para que "un 103" no
>se almacene físicamente en el mismo sitio que "otro 103", si no
>recuerdo mal, depende de la implementación[1]. Por eso me gusta
>pensar más bien en el comportamiendo de los "números grandes",
>ya que según leí, el hecho de que la "y" y la "z" de tu 
>ejemplo "apunten" al mismo sitio es puramente accidental (tema de
>implementación para optimización) y no se debe confiar en ello
>como un "feature". 

no quise decir que fuera un "feature". este comportamiento se llama
"interning" y es una optimización para cadenas de caracteres y
enteros menores a 100 (éstos últimos ya los crea python)

quizás yo tampoco me expliqué bien. solo quería resaltar que creo
que lo importante es resaltar la diferencia entre el nombre y
el objeto.

-H.




Más información sobre la lista de distribución Python-es