itertools to iter transition (WAS: Pre-PEP: Dictionary accumulator methods)

Terry Reedy tjreedy at udel.edu
Tue Mar 29 21:23:33 EST 2005


"Steven Bethard" <steven.bethard at gmail.com> wrote in message 
news:t8GdnWcs-9J6AdTfRVn-hw at comcast.com...
> True it's not a huge win.  But I'd argue that for the same reasons that 
> dict.fromkeys is a dict classmethod, the itertools methods could be iter 
> classmethods (or staticmethods).

As near as I could tell from the doc, .fromkeys is the only dict method 
that is a classmethod (better, typemethod) rather than an instance method. 
And all list methods are instance methods.  And I believe the same is true 
of all number operations (and the corresponding special methods).  So 
.fromkeys seems to be an anomaly.

I believe the reason for its existence is that the signature for dict() 
itself was already pretty well 'used up' and Guido preferred to add an 
alternate constructor as a method rather than further complicate the 
signature of dict() by adding a fromkeys flag to signal an alternate 
interpretation of the first and possibly the second parameter.

Terry J. Reedy






More information about the Python-list mailing list