[Python] 0 in (False,) // 0 == False

Alessandro Dentella sandro a e-den.it
Gio 4 Feb 2010 17:22:42 CET


On Thu, Feb 04, 2010 at 04:42:41PM +0100, Enrico Franchi wrote:
> On Feb 4, 2010, at 1:36 PM, Alessandro Dentella wrote:
> 
> > Questo è avvincente come sostegno all'idea che il booleano si comporti comex
> > un intero. Ne deriva necessariamente che 0 == False? Ovvero: il fatto che
> > *si comporti come un numero* nell operazioni richiede per necessità che ==
> > dica che sono uguali?
> 
> Pensiamo ai comportamenti... 
> 1. 0 e False sono inconfrontabili. Arriva un'eccezione, quindi. In questo caso
>     quindi abbiamo che effettivamente interi e booleani non sono intercambiabili.
>     Sarebbero due tipi completamente distinti. Non e' quello che fa Python.
> 2. 0==False -> True
> 3. 0==False -> False
> 
> Suppongo che sia chiaro che la 3 non porta da nessuna parte.
> Avremmo degli assurdi completi, roba controintuitiva. Non sono nemmeno
> difficili da inventare.

Asserzione gratuita con promessa di dimostrazione. Dimostrazione che non
dubito esista, è infatti quella che andavo cercando...


sandro


PS: Sul resto della tua risposta non commento che mi pare border line con la
    pura polemica


Maggiori informazioni sulla lista Python