[Python-Dev] Rationale for sum()'s design?
aleaxit at yahoo.com
Tue Mar 15 23:01:48 CET 2005
On Mar 15, 2005, at 01:16, Tim Peters wrote:
> [Eric Nieuwland]
>>> Perhaps the second argument should not be optional to emphasise this.
>>> After all, there's much more to sum() than numbers.
> [Greg Ewing]
>> I think practicality beats purity here. Using it on
>> numbers is surely an extremely common case.
> I'd personally be delighted if sum() never worked on anything other
> than numbers. That makes it easy to understand, easy to document,
> easy to remember, obvious at first sight, and straightforward to
> implement. Everything a framework isn't, but it's not a bad thing to
> have *something* that actually means exactly what it looks like it
> says <0.5 wink>.
I'm reasonably often using sum on lists of datetime.timedelta
instances, "durations", which ARE summable just like numbers even
though they aren't numbers. I believe everything else for which I've
used sum in production code DOES come under the general concept of
"numbers", in particular X+0 == X. Unfortunately, this equation
doesn't hold when X is a timedelta, as X+0 raises an exception then.
More information about the Python-Dev