[Python-Dev] ACCEPTED: PEP 285

Guido van Rossum guido@python.org
2002年4月03日 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/)

AltStyle によって変換されたページ (->オリジナル) /