decimal and context objects!

MooMaster ntv1534 at gmail.com
Fri Mar 2 05:08:38 EST 2007


Hey guys, I'm trying to do some black magic voodoo and it's a little
late, so forgive me if this question seems obvious or has been asked
before. I tried doing a search on context objects and didn't find
anything that popped out, and I'm too tired to keep digging.

I'm making a little program that is trying to do weird and sexy things
by fully leveraging the power of all the built-in beauty of Python. I
was trying to play around with the new features added into Python 2.5,
and ran into an unexpected issue...check this out:

>>> moo = lambda x, y : decimal.Context(3).sqrt(decimal.Context(3).power(x,2) + decimal.Context(3).power(y,2))
>>> moo
<function <lambda> at 0x02CD0EB0>
>>> row = [1,2,3,4,5]
>>> weight_vector = .00556
>>> moo(sum(row), weight_vector)
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    moo(sum(row), weight_vector)
  File "<pyshell#1>", line 1, in <lambda>
    moo = lambda x, y :
decimal.Context(3).sqrt(decimal.Context(3).power(x,2) +
decimal.Context(3).power(y,2))
  File "C:\Python25\lib\decimal.py", line 2662, in power
    return a.__pow__(b, modulo, context=self)
TypeError: wrapper __pow__ doesn't take keyword arguments

I have no idea what keyword argument is getting passed to __pow__,
anyone know what's going on?

This should compute sqrt(5^2 + 3^2)




More information about the Python-list mailing list