[Python-ideas] Why does `sum` use a default for the `start` parameter?

MRAB python at mrabarnett.plus.com
Sat Dec 5 19:18:08 CET 2009


Ram Rachum wrote:
>> There is a choice between these two variants:
>>
>> a) require start for non-numerical sequences
>> b) require start for possibly empty sequences
>>
>> I don't have a preference for either, so for compatibility's sake I would
>> vote to keep the current one, which is a).  It also stands to reason that
>> buggy usage in case b) is harder to detect, since the common case will
>> not uncover the bug (the sequence being nonempty), while for case a) it does.
> 
> 
> I prefer (b). The problem with requiring `start` for sequences of non-numerical 
> objects is that you now have to go out and create a "zero object" of the same
> type as your other objects. The object class might not even have a concept of a 
> "zero object".
> 
If the objects can be summed, shouldn't there also be a zero object?
Does anyone have an example when that's not possible?



More information about the Python-ideas mailing list