[Python] 0 in (False,) // 0 == False
Pietro Battiston
toobaz a email.it
Ven 5 Feb 2010 18:21:19 CET
Il giorno ven, 05/02/2010 alle 17.53 +0100, Daniele Varrazzo ha scritto:
> On Fri, 05 Feb 2010 17:39:46 +0100, Pietro Battiston <toobaz a email.it>
> wrote:
>
> > Per carità, dal punto di vista storico è chiaro, e non sto neanche
> > facendo una battaglia perché si cambi: vorrei solo che si riconoscesse
> > che non c'è nessun motivo assoluto per cui debba essere così.
>
> Ok, non c'era nessun motivo assoluto per cui dovesse essere così. Su
> questo hai ragione.
>
> Si sarebbe potuto fare:
>
> bool == int è sempre falso
> bool != int è sempre vero
> bool <, >, <=, >= int spara un'eccezione
Solo in Python 3 :-)
Pietro
> int(True) = 1
> int(False) = 0
> bool op int = int(bool) op int per ogni op aritmetica.
>
> Se invece i tipi funzionano con la semantica attuale è solo per
> convenzione e utilità. Se questa semantica è implementa come subclass è
> solo per comodità di implementazione.
>
Maggiori informazioni sulla lista
Python