[Python] 0 in (False,) // 0 == False
Daniele Varrazzo
piro a develer.com
Ven 5 Feb 2010 17:53:01 CET
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
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.
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python