DSM wrote:
From the nothing-is-so-trivial-it's-not-worth-a-usenet-post file:
Shouldn't the default representation of complex numbers be like that of
floats? That is, have a decimal point?
>>> 1
1
>>> 1.0
1.0
>>> 1j
1j
>>> 1.0j
1j
>>> 1.0+1.0j
(1+1j)
In the relevant bit of floatobject.c, there's a comment explaining that
1.0 isn't accidental:
/* Subroutine for float_repr and float_print.
We want float numbers to be recognizable as such,
i.e., they should contain a decimal point or an exponent.
However, %g may print the number as an integer;
in such cases, we append ".0" to the string. */
ISTM the same reasoning applies equally to complex numbers.
Not necessarily. The reason that having floats always have a decimal point is
desirable is to ensure roundtripping through eval(repr(x)). The j is sufficient
for complexes. There are no complex integers to confuse it with.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list