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

Neal Norwitz neal@metaslash.com
Wed, 03 Apr 2002 18:13:29 -0500


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. You can expect the bool type in Python 2.3; it will be in CVS tonight.

And the warnings have already been added to pychecker. I know I'm going to wish I never said this, but ... If you find REAL problems with code that breaks, let me know. I will try to address problems that may arise.

This code: True = 1 False = 0

def test(a):
    if a is True: print 'True'
    if a == False: print 'False'

generates these warnings: test.py:2: Should not assign to True, it is (or will be) a builtin test.py:3: Should not assign to False, it is (or will be) a builtin test.py:6: Comparisions with True are not necessary test.py:7: Comparisions with False are not necessary

Neal