All members are camel case, right? Why True/False but not true/false, which is more relaxed?
Form Pep 285:
Should the constants be called 'True' and 'False' (similar to None) or 'true' and 'false' (as in C++, Java and C99)?
=> True and False.
Most reviewers agree that consistency within Python is more important than consistency with other languages.
This, as Andrew points out, is probably because all (most)? built-in constants are capitalized.
Here's a possible explaination:
I see that naming conventions are such that classes usually get named CamelCase. So why are the built-in types named all lowercase (like list, dict, set, bool, etc.)?
Because most of them originally were types and factory functions, not
classes - and a naming convention is not a strong reason to make backwards incompatible changes. A different example: the new builtin typeset
is based on (altough not exactly equal to) the Set class from the sets module
All of python's built-in constants are capitalized or [upper] CamelCase:
True
and False
are capitalized in Haskell, the other language which uses indentation as syntax.