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