[Python-Dev] Re: [I18n-sig] Unicode experience
Tim Peters
tim_one@email.msn.com
Fri, 7 Jul 2000 17:01:09 -0400
[Tim]
> It's certainly caught errors for me, and especially when
> introducing Perl programmers to Python, where "they expect"
> string+number to convert the string to a number, apparently
> the opposite of the arbitrary choice Paul prefers.
[Ping]
> It's not arbitrary -- the decision is made according to the
> type of the *operator* rather than the type of the operands.
>
> anything + anything returns a number
> anything . anything returns a string
Of the languages discussed, this is true only in Perl. The other languages
map "+" to the string meaning, so it's arbitrary wrt the universe under
discussion. Toss Icon into the Perl camp on this one, btw.
Within Perl, that "+" means numeric addition and "." string catenation is
also abitrary -- it could just as well have been the other way around. Perl
simply aped Awk's arbitrary <wink> choice for what "+" means.
> So "34"+0 converts to a number and 34."" converts to a string
> (i've seen both idioms fairly often).
Yes, & about as often as you see explicit str() or int() calls in Python.
It's not a question of not needing the functionality, but of how to spell it
(both!).
> ...
> there's really no excuse for not being explicit.
i-think-that's-what-i-said-the-first-time<wink>-ly y'rs - tim