On Sat, Aug 9, 2014 at 1:08 AM, Steven D'Aprano <steve@pearwood.info> wrote:
We wouldn't be having
these interminable arguments about using sum() to concatenate strings
(and lists, and tuples) if the & operator was used for concatenation and
+ was only used for numeric addition.
But we would probably have a similar discussion about all(). :-)
Use of + is consistent with the use of * for repetition. What would you use use for repetition if you use & instead?
Compare, for example
s + ' ' * (n - len(s))
and
s & ' ' * (n - len(s))
Which one is clearer?
It is sum() that need to be fixed, not +. Not having sum([a, b]) equivalent to a + b for any a, b pair is hard to justify.