[Python-3000] Why lowercase?

Guido van Rossum guido at python.org
Fri Dec 14 17:08:02 CET 2007


On Dec 14, 2007 3:54 AM, Phillip J. Eby <pje at telecommunity.com> wrote:
> At 08:51 AM 12/14/2007 +0100, Christian Heimes wrote:
> >UserDict is a relict from the
> >past and scheduled for removal.
>
> Really?  Why?

Yes. Or it should be rewritten as a tiny shim on top of
collections.MutableMapping, which has nearly all the functionality and
matches the dict type.

> >It's functionality is replaced by the
> >subclass-able dict type and ABCs.
>
> Er, no, its functionality *isn't* replaced by subclassable dict,
> since subclassable dict does stuff you can't override (e.g. copy()
> doesn't return a subclass instance).

Correct, Christian needs more practice channeling me. :-)

Regarding the OP's question about the lowercase names, this *is* in a
large part historic -- int, str, float and a few others were
*functions* before Python 2.2, like len, id etc. still are. We turned
int etc. into builtin types, added some more type names that didn't
have builtin names before (dict, list etc.), and in order to be
compatible the names remained lowercase.

The convention nowadays seems to be that built-in types are lower case
and user-defined types use CamelCase. I can live with it.

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


More information about the Python-3000 mailing list