All members are camel case, right? Why True/False but not true/false, which is more relaxed?
All of python's built-in constants are capitalized or [upper] CamelCase:
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
In python only the 3 keywords True ,False and None are started with capital letters. I think This is to differentiate these 3 keywords from others. These 3 keywords can be used as literals or values where as other keywords not. For example
a=True is correct but a=for is wrong
From 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.