--- Bill Janssen <[EMAIL PROTECTED]> wrote:
> [...] It's more important to make things work
> consistently than to only
> have "one way". "sum" should concatenate strings.
>
"Sum" should sum stuff. You can't sum strings. It
makes no sense in English.
You can concatenate strings, or you can join them
using a connecting string. Since concatenating is
just a degenerate case of joining, it's hard to
justify a concat() builtin when you already have
''.join(), but I'd rather have a concat() builtin than
an insensible interpretation of sum().
Multiple additions (with "+") mean "sum" in
arithmetic, but you can't generalize that to strings
and text processing. The "+" operator for any two
strings is not about adding--it's about
joining/concatenating. So multiple applications of
"+" on strings aren't a sum. They're just a longer
join/concatenation.
Remember also that you can't have "+" operate on a
string/integer pair. It's just practicality that
Python uses the same punctuation for addition and
concatenation. In English it's sensible to have
punctuation for addition, so it has "+," but it needs
no punctuation for joining/concatenation, so Python
had to pick the closest match.
____________________________________________________________________________________
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
http://travel.yahoo.com/
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com