[Python-Dev] Re: [I18n-sig] Unicode experience
Tim Peters
tim_one@email.msn.com
Fri, 7 Jul 2000 16:39:00 -0400
[Guido]
>>> For strings there is no compact notation like "+0.0" if you want to
>>> convert to string or Unicode -- adding "" might work in Perl, but not
>>> in Python.
BTW, "+0.0" is not a correct way to "boundedly coerce" to float under 754
arithmetic; "*1.0" is safer (the former does not always preserve the sign
bit of a float zero correctly, but the latter does).
[Paul Prescod]
>> Actually, these days, foo+"" works in a LOT of languages. Perl, Java and
>> JavaScript for sure.
[Guido]
> Really? Does 3+"" really convert the 3 to a string in Java?
I don't remember about that specifically, but believe ""+3 does. OTOH, in
*Perl* 3+"" converts "" to the *number* 0 and leaves 3 alone.
>> Python's strictness about this issue has never caught a bug for me. It
>> has only caused errors.
> Are you sure? This is the kind of error where you immediately see
> what's wrong and move on to the next bug.
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.
It's ambiguous as hell -- screw it.