[Python-Dev] ACCEPTED: PEP 285
David Ascher
DavidA at ActiveState.com
Wed Apr 3 17:47:08 EST 2002
Guido van Rossum wrote:
> Despite the negative feedback, I've decided to accept the PEP. The
> most important perceived problem is that newbies tend to write
>
> if x == True: ...
>
> where they should write
>
> if x: ...
>
> I believe this problem should be solved by education (the Zen master
> hits the student on the head with a stick, and the student gets
> enlightenment) rather than by holding back what I believe will be a
> useful feature.
Would it not be "relatively" easy to add a compiler-time warning for
most uses of this dangerous idiom?
At the very least, the boolean type could do the equivalent of:
def __eq__(self, other):
if __debug__ and other not in (0,1,True,False):
warnings.warn("Testing of equality is best done by asking
objects whether they're true, not comparing with a boolean",
RunTimeWarning)
return int.__eq__(self, other)
or something similar?
--david
More information about the Python-list
mailing list