What about an EXPLICIT naming scheme for built-ins?
PPNTWIMBXFFC at spammotel.com
Thu Sep 9 09:36:04 CEST 2004
> My proposal is to create a new category in the documentation for all
> *builtin constructors*:
> bool(), complex(), dict(), float(), int(), list(), object(), str(),
> All built-in constructors share common behavior -- they return a new
> object of the given type, using the argument as an initializer.
> Reading about how constructors work in general will help one to
> develop a broader, and better, understanding of their real power.
As you said: They are constructors... hence this are all classes (or are
going to be). According to the Python style-guide they are supposed be
written with CamelCase. If those would be written as:
Bool(), Complex(), Dict(), Float(), Int(), List(), Object(), Str(), Tuple()
And in the case of sum() we keep it lower-case to indicate an action that
is taken on the input.
But it should have been File() instead of file()... it would have been
clear to the programmer that he is dealing with a class and can make (new)
instances (or derive) from them (in the future maybe)
In the case of file() (which is not preferred over open() and is not a
synonym - I know). It was a good move to rename open() to file() [open ->
what?; file --> Aha, we end up having a file-object!] but then it was only
half the step because File() would have been the right naming choice...
I already proposed that and it turned out that I was a hobgoblin and
against that you cannot defend yourself. They proposed to create create
references (Bool = bool, Complex = complex, etc.) if I couldn't live with
it - well, I struggle but I still live and hope for Python3K. 8o)
More information about the Python-list