[Python-Dev] Re: PEP239 (Rational Numbers) Reference Implementation and new issues
Oren Tirosh
oren-py-d@hishome.net
Tue, 8 Oct 2002 12:03:51 -0400
On Tue, Oct 08, 2002 at 03:55:49PM +0200, Thomas Wouters wrote:
> I'd also say rational-literals are not that important. Looking at my own
> Python code, I very rarely need a floating-point literal to start with.
> Strings, plenty, dicts and lists fairly often, integers every now and then,
> but floating point numbers very rarely, and almost all of them are just
> '0.0' or an integer expressed as float to force float-division. Most of my
> float objects come from (library) functions that return them.
Having nice-looking literals is important even if they are not actually
typed in the source code too often. The literal form is also the repr()
for all built-in numeric types so far. I don't think we should break that.
What would your like to see as the repr() of a rational number? The answer
to this will also determine what you type in your source.
Note that repr(n) is not necessarily str(n):
>>> repr(f)
'0.59999999999999998'
>>> str(f)
'0.6'
So we could have:
>>> repr(r)
'3/5r' # or 'rat(3, 6)'
>>> str(r)
'3/5'
Oren