"Steven Bethard" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> Terry Reedy wrote:
>> "Steven Bethard" <[EMAIL PROTECTED]> wrote in message 
>> news:[EMAIL PROTECTED]
>>
>>>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.
>
> True enough, and I also agree with George Sakkis's sentiment that 
> fromkeys() isn't really necessary now that set() is a builtin.

So perhaps it will disappear in the future.

> But if classmethods are intended to provide alternate constructors

But I do not remember that being given as a reason for classmethod().  But 
I am not sure what was.

Terry J. Reedy



-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to