[pyar] Sobre Mutable / Immutable

Martin Cerdeira martincerdeira en gmail.com
Mie Sep 1 19:04:27 ART 2010


2010/9/1 Ezequiel Gutesman <egutesman en gmail.com>

> Esta semana se reporto un "issue" cuya discusion me parece mas que
> interesante para la lista, cualquiera sea el nivel de conocimiento de como
> python maneja los distintos tipos de datos.
>
> Basicamente (porque la discusion es larga, pasa por implementaciones del
> mismo codigo en Python, C y Java) una persona pregunta: "Que hace (sin
> ejecutarlo) el siguiente codigo?" y *segun el*, el 95% de los
> desarrolladores no saben contestar.
>
> def list_again(foo):
> foo.append("bar")
>
> def list_again_again(foo):
> foo = foo + ["1"]
>
> if __name__ == "__main__":
> bar = []
> list_again(bar)
>  print bar
> list_again_again(bar)
> print bar
>
> Mas alla de si tiene razon o no (que para mi no la tiene) esta bueno leer
> la discusion y los argumentos.
>
> http://bugs.python.org/issue9702
>
> salu2
> gutes
>
>
Yo creo que la diferencia entre "saber que hace ese código" y "no saber que
hace" depende, exclusivamente del conocimiento sobre el lenguaje (en este
caso) python.

Es lo similar a pasar por referencia o por valor. En algunos lenguajes, el
"default" es por valor, mientras que en otros no. Si no sabes como funciona
eso, especificamente, en un lenguaje X, es probable que le pifies.

Ejemplo - Qué hace esto en VB?

Sub Main()
    Dim a As Integer
        a = 1
        Print a
        lala a
        Print a
End Sub

Function lala(b)
        b = b+ 1
End Function

=)

-------------------------------------
Martín Cerdeira - Software Developer
[web] http://www.codmacs.blogspot.com/
()  ascii ribbon campaign
/\  www.asciiribbon.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100901/7ac3f7f9/attachment.html>


More information about the pyar mailing list