[Python-Dev] ACCEPTED: PEP 285
Wed, 03 Apr 2002 14:47:08 -0800
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",
return int.__eq__(self, other)
or something similar?