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

Guido van Rossum guido@python.org
Wed, 03 Apr 2002 19:52:15 -0500


And the warnings have already been added to pychecker.

I knew I could count on you. :-)

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

I wonder if you should add warnings for any spelling, or at least also for true and TRUE, if assigned the constant 1 (and similar for false/FALSE), on the basis that these are probably other ways to spell the same thing. E.g. I've seen

    FALSE, TRUE = range(2)

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

But 'is True' can be a useful test. The newbies we're trying to catch in verboten activities are using ==.

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

Cool.

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