[Python-es] Comportamiento de python.

Rock Neurotiko miguelglafuente en gmail.com
Mie Abr 9 17:58:10 CEST 2014


No completamente como Haskell, pero si, en algunos casos si :-P

Mi problema en el primer email era que no sabia que se comportaba asi para
los parámetros, ahora si lo se, y espero que el resto también =D


El 9 de abril de 2014, 17:49, Arturo Llaja Alarcón
<artus.lla en autistici.org>escribió:

>  On 09/04/14 10:47, Rock Neurotiko wrote:
>
>  Claro, ese es el comportamiento que se espera si conoces cómo funciona
> Python al asignar los valores.
>
> En otros lenguajes, el valor por defecto siempre se evalua (en python solo
> la primera vez que llamas a ese metodo), por lo que si no le pasas el
> parametro siempre va a ser el que viene por defecto, por mucho que sea
> mutable el tipo, ya que evaluan el valor por defecto.
>
> Pero, como digo, en Python no es así, y para la gente que no lo sepa (como
> yo al iniciar el hilo) les puede traer problemas.
>
>
>
> El 9 de abril de 2014, 17:39, Arturo Llaja Alarcón <
> artus.lla en autistici.org> escribió:
>
>>  On 09/04/14 09:38, Rock Neurotiko wrote:
>>
>> x = []
>>
>> Pero se lo estás pasando en la línea:
>> def foo(x = []):
>>
>> Según lo que leo, la función crea una variable x, y le asigna un valor
>> x.append(1), en ningún momento la destruye ni la reinicia.
>>
>> La variable x se queda en memoria y por lo tanto al llamar de nuevo la
>> función foo() se agrega un valor a la lista, recuerda que las listas son
>> mutables.
>>
>> Para que siempre tengas un mismo valor mejor sería usar una tupla:
>>
>> def foo(x=()):
>>     x = (1)
>>     print(x)
>>
>>
>> foo()
>> 1
>>
>> foo()
>> 1
>>
>> tal como se describe en la resolución de variables locales y globales de
>> Python.
>> Es mi observación, salvo mejor opinión,
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
> --
>  Miguel García Lafuente - Rock Neurotiko
>
>  Do it, the devil is in the details.
> The quieter you are, the more you are able to hear.
>  Happy Coding. Code with Passion, Decode with Patience.
>  If we make consistent effort, based on proper education, we can change
> the world.
>
>  El contenido de este e-mail es privado, no se permite la revelacion del
> contenido de este e-mail a gente ajena a él.
>
>
> _______________________________________________
> Python-es mailing listPython-es en python.orghttps://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>  Python usa la evaluación perezosa :)
>
> Saludos.
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Miguel García Lafuente - Rock Neurotiko

Do it, the devil is in the details.
The quieter you are, the more you are able to hear.
Happy Coding. Code with Passion, Decode with Patience.
If we make consistent effort, based on proper education, we can change the
world.

El contenido de este e-mail es privado, no se permite la revelacion del
contenido de este e-mail a gente ajena a él.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140409/d45017a2/attachment.html>


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