<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2014-07-14 17:06 GMT+02:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@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 class="gmail_extra"><div class="gmail_quote">2014-07-14 16:43 GMT+02:00 Giampaolo Rodola' <span dir="ltr"><<a href="mailto:g.rodola@gmail.com" target="_blank">g.rodola@gmail.com</a>></span>:<br>


<div><br></div><div>> [...] </div><div class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">

<div class="gmail_extra">
<div class="gmail_quote"><div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">
<div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">


<div class="gmail_extra"><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"></blockquote>


</div></div></div></div></blockquote></div>

<div>
> [...] </div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">




<div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
</blockquote></div></div></div>

<div class="gmail_extra">Non è un caso che proprio i progetti fortemente basati sull'I/O come MySQL-python, Twisted e gevent sono quelli che ancora latitano perchè (esperienza personale fatta con pyftpdlib) far coesistere due tipi che prima erano intercambiabili e di colpo non lo sono più, specialmente in quel tipo di applicazioni, è veramente un casino.</div>





</div></blockquote><div><br></div></div><div>Hey, aspetta un attimo.</div><div>str e unicode non sono **mai** stati intercambiabili, a meno di applicazioni affette da gravi bug logici e che dipendevano dall'encoding di default.</div>





<div></div></div><br></div><div class="gmail_extra">> [...]</div></div></blockquote><div><br></div></div></div><div>Mi riferisco a:</div><div><br></div><div> >>> u"a" + "b"</div><div>u'ab'</div>




<div>>>> "a" == u"a"</div><div>True</div><div><br></div></div><div><div><br></div></div></div></div></blockquote><div><br></div></div><div>In [1]: u"à" == "à"</div><div>
/usr/bin/ipython2:1: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal</div><div>  #!/usr/bin/python2</div><div>Out[1]: False</div></div></div></div>

</blockquote><div><br></div><div>Ecco, classico esempio di codice che funziona "il più delle volte" ma nasconde un baco e che Python 3 ha risolto lanciando TypeError.  E' esattamente a questo che mi riferivo: sono intercambiabili nel senso che li puoi mischiare (e come in questo caso ottenere risultati errati) e anche formattarli entrambi (cosa che non puoi fare coi bytes in python 3 e che è quello che crea maggiormente problemi alla gente di twisted e mercurial).</div>

</div><div><br></div>-- <br><div dir="ltr"><div>Giampaolo - <a href="http://grodola.blogspot.com" target="_blank">http://grodola.blogspot.com</a></div><div><br></div></div>
</div></div>