<div dir="ltr">Quizás me confunda, corregirme si es así, pero la evaluación perezosa[1] es simplemente no evaluar las expresiones si no hay necesidad, así que no tengo muy claro que tiene que ver eso con que en Python las funciones sean objetos y sus argumentos sean parte del estado del objeto, por lo que al utilizar un tipo de datos mutable genera esta situación [2].<div>
<br></div><div>[1] <a href="http://en.wikipedia.org/wiki/Lazy_evaluation">http://en.wikipedia.org/wiki/Lazy_evaluation</a><br></div><div>[2] <a href="http://stackoverflow.com/questions/1132941/least-astonishment-in-python-the-mutable-default-argument">http://stackoverflow.com/questions/1132941/least-astonishment-in-python-the-mutable-default-argument</a><br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-04-09 17:58 GMT+02:00 Rock Neurotiko <span dir="ltr"><<a href="mailto:miguelglafuente@gmail.com" target="_blank">miguelglafuente@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>No completamente como Haskell, pero si, en algunos casos si :-P<br><br></div><div>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<br>


</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 9 de abril de 2014, 17:49, Arturo Llaja Alarcón <span dir="ltr"><<a href="mailto:artus.lla@autistici.org" target="_blank">artus.lla@autistici.org</a>></span> escribió:<div>
<div class="h5"><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#CCCCFF"><div><div>
    <div>On 09/04/14 10:47, Rock Neurotiko
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>Claro, ese es el comportamiento que se espera si conoces
          cómo funciona Python al asignar los valores.<br>
          <br>
          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.<br>
          <br>
          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.<br>
        </div>
        <br>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">El 9 de abril de 2014, 17:39, Arturo
          Llaja Alarcón <span dir="ltr"><<a href="mailto:artus.lla@autistici.org" target="_blank">artus.lla@autistici.org</a>></span>
          escribió:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div text="#000000" bgcolor="#CCCCFF">
              <div>On 09/04/14 09:38, Rock Neurotiko wrote:<br>
              </div>
              <blockquote type="cite">x = []</blockquote>
              Pero se lo estás pasando en la línea:<br>
              def foo(x = []):<br>
              <br>
              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.<br>
              <br>
              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.<br>
              <br>
              Para que siempre tengas un mismo valor mejor sería usar
              una tupla:<br>
              <br>
              def foo(x=()):<br>
                  x = (1)<br>
                  print(x)<br>
                  <br>
              <br>
              foo()<br>
              1<br>
              <br>
              foo()<br>
              1<br>
              <br>
              tal como se describe en la resolución de variables locales
              y globales de Python. <br>
              Es mi observación, salvo mejor opinión, </div>
            <br>
            _______________________________________________<br>
            Python-es mailing list<br>
            <a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
            <a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
            FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
            <br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        <div dir="ltr">
          <div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px">Miguel
              García Lafuente - Rock Neurotiko</span></div>
          <div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px"><br>
            </span></div>
          <div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px">Do
              it, the devil is in the details.</span></div>
          <div style="text-align:center"><font color="#333333" face="Arial, Helvetica, sans-serif"><span style="line-height:16px">The quieter you are, the more
                you are able to hear.</span></font></div>
          <div style="text-align:center">
            <span style="font-family:Helvetica,arial,verdana;font-size:15px;line-height:22.5px;text-align:left">Happy
              Coding. Code with Passion, Decode with Patience.</span><font color="#333333" face="Arial, Helvetica, sans-serif"><span style="line-height:16px"><br>
              </span></font></div>
          <div style="text-align:center">If we make consistent effort,
            based on proper education, we can change the world.<span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px"></span></div>
          <div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px"><br>
            </span></div>
          <div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px">El
              contenido de este e-mail es privado, no se permite la
              revelacion del contenido de este e-mail a gente ajena a
              él.</span></div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
Python-es mailing list
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a>
<a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a>
</pre>
    </blockquote></div></div>
    Python usa la evaluación perezosa :)<br>
    <br>
    Saludos.<br>
  </div>

<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div></div></div><div><div class="h5"><br><br clear="all"><br>-- <br><div dir="ltr"><div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px">Miguel García Lafuente - Rock Neurotiko</span></div>


<div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px"><br></span></div><div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px">Do it, the devil is in the details.</span></div>


<div style="text-align:center"><font color="#333333" face="Arial, Helvetica, sans-serif"><span style="line-height:16px">The quieter you are, the more you are able to hear.</span></font></div><div style="text-align:center">


<span style="font-family:Helvetica,arial,verdana;font-size:15px;line-height:22.5px;text-align:left">Happy Coding. Code with Passion, Decode with Patience.</span><font color="#333333" face="Arial, Helvetica, sans-serif"><span style="line-height:16px"><br>


</span></font></div><div style="text-align:center">If we make consistent effort, based on proper education, we can change the world.<span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px"></span></div>


<div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px"><br></span></div><div style="text-align:center"><span style="color:rgb(51,51,51);font-family:Arial,Helvetica,sans-serif;line-height:16px">El contenido de este e-mail es privado, no se permite la revelacion del contenido de este e-mail a gente ajena a él.</span></div>


<div style="text-align:center"></div></div>
</div></div></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br></div>