[Python-Dev] RE: Re: PEP 285: Adding a bool type (original) (raw)

Guido van Rossum guido@python.org
Wed, 03 Apr 2002 13:58:38 -0500


Having canonical True and False values would lead newcomers to compare to them. This would work, for example:

DONE = y and (x > y) ... if DONE is False: ... On the other hand, this wouldn't (unless y is a boolean): DONE = (x > y) and y ... if DONE is False: ... Of course, it works either way if you replace "DONE is False" with "not DONE".

Tutorial should point this out. It's poor coding style even in languages that do have strict Booleans, so I think it's a good idea to nip this one in the bud.

Or if you replace "y" with "bool(y)".

What a waste to write "if bool(y) == True" instead of "if y" ... :-(

--Guido van Rossum (home page: http://www.python.org/~guido/)