Message76690
Le lundi 01 décembre 2008 à 11:15 +0000, Mark Dickinson a écrit :
> My initial reaction to this was negative, but I'm struggling to think of
> situations where it would be bad.
Consider someone who writes:
z = y / x
return my_list[z]
In all his tests, x is a divisor of y and therefore z is an integer, the
code runs ok.
Suddenly in an use case, x is not a divisor of y, z is therefore a
float, and the "return" line raises a TypeError.
The reverse can also happen, consider something like :
z = y / x
return z.as_integer_ratio()
As for :
<type 'int'>
>>> type(2**-3)
<type 'float'>
I'd argue it is less annoying because it only depends on the value of
the second operand which is, most of the time, a constant, and therefore
you know upfront if the result will be a float or an int. |
|
Date |
User |
Action |
Args |
2008-12-01 12:01:03 | pitrou | set | recipients:
+ pitrou, mark.dickinson, nassrat |
2008-12-01 12:01:02 | pitrou | link | issue4479 messages |
2008-12-01 12:01:02 | pitrou | create | |
|