On Sat, 17 Sep 2005 11:12:34 +0200, Sybren Stuvel <[EMAIL PROTECTED]> wrote:
>Hi all, > >I'm trying to make a float-like class (preferably a subclass of >'float') that wraps around. The background: I'm modeling a >multi-dimensional space, and some of those dimensions are circular. > >Here is my code so far: > >class WrapFloat(float): > def __init__(self, value, wrap = None): > float.__init__(self, value) > self.wrap = wrap > >The problem is this: > >Python 2.4.1 (#2, Mar 30 2005, 21:51:10) >[GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2 >Type "help", "copyright", "credits" or "license" for more information. >>>> from engine.geometry import WrapFloat >>>> WrapFloat(45) >45.0 >>>> WrapFloat(45, 3) >Traceback (most recent call last): > File "<stdin>", line 1, in ? >TypeError: float() takes at most 1 argument (2 given) > >So my question to you is: how can I change my code so I can pass two >values to the WrapFloat constructor? > Float is an immutable, so you need to override __new__ Regards, Bengt Richter -- http://mail.python.org/mailman/listinfo/python-list