[Python-Dev] defaultdict and on_missing() (original) (raw)
Brett Cannon brett at python.org
Wed Mar 1 20:02:19 CET 2006
- Previous message: [Python-Dev] defaultdict and on_missing()
- Next message: [Python-Dev] defaultdict and on_missing()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 2/28/06, Terry Reedy <tjreedy at udel.edu> wrote:
"Greg Ewing" <greg.ewing at canterbury.ac.nz> wrote in message news:44052636.9090709 at canterbury.ac.nz... > And you don't think there are many different > types of iterables? You might as well argue > that we don't need len() because it "only > applies to sequences". Since you mention it..., many people have asked on c.l.p why len() is a builtin function rather than a method of sequences (and other collections) (as .len, not .len). Some have suggested that it should be the latter. The answers justifying the status quo have been twofold. 1. Before 2.2, not all builtin sequence types had methods (str and tuple), so they could not have a .len method. (This begs the question of why not, but that is moot now.)
Well, up until 2.2 you didn't have new-style classes which have a
common base class. And if you wanted to do the length compilation
only when requested, you needed a method. But now with object, we
could add extra smarts to getattr or getattribute so that if
spam.len
is requested it calls spam.__next__()
for you,
basically a poor-man's property. Or, if spam.len
is defined,
return that.
But moving over to more attributes for how we access basic interfaces seems great to me.
-Brett
- Previous message: [Python-Dev] defaultdict and on_missing()
- Next message: [Python-Dev] defaultdict and on_missing()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]