[Python-Dev] For review: PEP 285: Adding a bool type
Guido van Rossum
guido@python.org
Fri, 08 Mar 2002 17:44:53 -0500
> > Absolutely not. I want True == 2 to be False.
>
> Interesting. so:
> operator.truth(2) would be True
Yes, this would do exactly the same as bool(2).
> but:
> 2 == True would be False
Just as in C99 (the new updated C standard, not yet in actual use).
> and:
> bool(2) would be True
>
> Once again, casting, coercion, comparisons and truth value rear their
> fuzzy heads.
For the first time, we'll have a standard way to cast an arbitrary
value to a normalized truth value. Currently we write "not not x" for
that. Now *that* is ugly.
Also, you'll be able to use 'is' and 'is not', as follows:
if bool(x) is True: ...
if bool(y) is not True: ...
Not that I endorse this (I still think that anybody who takes a
boolean result and then compares it to True is crazy), but it reads
like English. :-)
--Guido van Rossum (home page: http://www.python.org/~guido/)