There is a representation for decimal literals that nicely avoids the problem of remembering that 0d is decimal and 0m is meters etc.:
import decimal decimal.Decimal(3) Decimal("3") Decimal("3") Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'Decimal' is not defined
The error points out that I really need to do both:
import decimal from decimal import Decimal.
and I'd prefer the single import do both. Note that this anomaly of repr is not limited to decimal as I think this is a bit worse:
float('nan') nan float('inf') inf
--- Bruce On Fri, Dec 5, 2008 at 10:53 AM, Jim Jewett <jimjjewett@gmail.com> wrote:
On Thu, Dec 4, 2008 at 4:45 AM, Cesare Di Mauro <cesare.dimauro@a-tono.com> wrote:
But at least it will be more usable to have a short-hand for decimal declaration:
In isolation, a decimal literal sounds nice.
But it may not be used often enough to justify the extra mental complexity.
What should the following mean?
a = 123X
It isn't obvious, which means that either it gets used all the time (decimal won't) or people will have to look it up -- or just guess, and sometimes get it wrong.
a = 1234.567d
To someone who hasn't programmed much with decimal floating point, what does the "d" mean?
Could it indicate "use double-precision"?
Could it just mean that the written representation is "decimal" as opposed to "octal" or "hexadecimal", but that the internal form is still binary?
a = 1234.567d
is simpler than:
[reworded to be even shorter per use]
from decimal import Decimal as d a = d('1234.5678')
but if you really have enough Decimal literals for the difference to matter, you could always write your own helper function.
# pretend to be using the European decimal point a = d(1234,5678)
# maps easily to the tuple-format constructor a = d(12345678, -4)
My own hunch is that until Decimal is used enough that people start putting this sort of constructor into their personal libraries, it probably doesn't need a literal.
-jJ _______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas