Decimals and other numbers
Devin Jeanpierre
jeanpierreda at gmail.com
Thu Jan 8 21:33:21 EST 2015
I noticed some very PHP-ish behavior today:
>>> import decimal
>>> x = 0
>>> y = float(x)
>>> z = decimal.Decimal(x)
>>> x == y == z == x
True
>>> x ** x
1
>>> y**y
1.0
>>> z**z
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/decimal.py", line 2216, in __pow__
return context._raise_error(InvalidOperation, '0 ** 0')
File "/usr/lib/python2.7/decimal.py", line 3872, in _raise_error
raise error(explanation)
decimal.InvalidOperation: 0 ** 0
I'd file a bug report but I'm anticipating some rational (heh)
explanation. Any ideas?
Python 3.4 also raises this exception, but the error message is less
informative. ("decimal.InvalidOperation: [<class
'decimal.InvalidOperation'>]").
-- Devin
More information about the Python-list
mailing list