On Mar 14, 2005, at 01:22, Greg Ewing wrote:

Guido van Rossum wrote:
- the identity (defaulting to 0) if the sequence is empty
- the first and only element if the sequence only has one element
- (...(((A + B) + C) + D) + ...) if the sequence has more than one element

While this might be reasonable if the identity argument is not specified, I think that if an identity is specified, it should be used even if the sequence is non-empty. The reason being that the user might be relying on that to get the semantics he wants.

Think of the second argument as "accumulator
object" rather than "identity".

+1 to Greg's idea -- I do have cases where the items arrive in irregular bunches and I maintain the running total via this mechanism, initializing as


running_total = 0

and updating it as

running_total = sum(bunch_of_items, running_total)


Back to Guido's request for the history of how the design evolved, I did some googling -- it all happened on this mailing list, April 19 to April 21, 2003. Most of it subject: Fwd: summing a bunch of numbers (or "whatevers"), though some had Re: and other lacked Fwd: decorations, in case you're searching on the month's archives by subject.


Reading the whole thread will help with the pro's and con's, but the conclusions are mostly in Guido's post http://mail.python.org/pipermail/python-dev/2003-April/034853.html and my concurring reply http://mail.python.org/pipermail/python-dev/2003-April/034855.html .


Alex

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to