[Python-Dev] ACCEPTED: PEP 285 (original) (raw)

David Ascher DavidA@ActiveState.com
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", RunTimeWarning) return int.eq(self, other)

or something similar?

--david