[pyar] [Consulta]Programación: constante
Roberto Alsina
ralsina en netmanagers.com.ar
Dom Mar 4 19:35:29 ART 2012
On 03/04/2012 07:32 PM, Angel Java Lopez wrote:
> Hola gente!
>
> Ah! Interesante tema....
>
> Hmmm... no me cierra lo de:
>
> "Lo que no existe es la constante "con nombre" porque en python la
> asignación es en realidad creación de alias para objetos."
>
> Se me ocurren lenguajes donde puedo tener creacion de alias, pero si
> los objetos apuntados son inmutables (como lo son los enteros y
> strings en Java, .NET, etc... (no se si son inmutables los string en
> Python)), entonces bastaria agregar "variables" writeonce (o
> assign-once) declarando algo como
>
Si, los strings son inmutables en Python.
> const ONE = 1
>
> una "variable"/"alias"/"punterosiquierenverloasi" que se puede asignar
> una vez y solo una vez, para tener semantica de constantes.
Y de ahí en mas, si hago ONE = 2 es error? En tiempo de compilación o de
ejecución?
>
> Es asi? O como es como escribe Roberto, un tema derivado de tener
> alias? O hay algo mas en Python que impide o por lo menos complica
> tener constantes?
>
> No se si me explique bien... a ver... busco, y encuentro via Google:
> http://software-carpentry.org/4_0/python/alias/
>
> If the data in question is immutable---i.e., if it cannot be modified
> in place---then aliasing doesn't matter
>
> Ahi muestra aliasing de dos nombres contra el string "isaac". Eso es
> lo que pasa en Java y en .NET. Sin embargo, ahora que lo leo, me surge
> una duda: el autor no grafica aliasing para enteros en Python (pone un
> arreglo donde cada elemento apunta a un numero 1 , "diferente", en vez
> de que cada elemento apunte al mismo 1). Eso de no tener aliasing de
> enteros, aparece hasta en implementaciones de Smalltalk, que seria el
> "papa de todos los aliasing". ;-)
>
Y acá te pregunto: como creás un segundo 1 distinto de este 1 en python? ;-)
No es importante en el caso de los enteros porque son inmutables y
"fungibles", pero, con objetos en general?
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120304/c8aa68f2/attachment.html>
More information about the pyar
mailing list