Sion Arrowsmith a écrit :
> Alex Martelli <[EMAIL PROTECTED]> wrote:
> 
>>TG <[EMAIL PROTECTED]> wrote:
>>
>>>When I call Vector.__init__() in Stimulus, doesn't it also call __new__
>>>? I don't understand the detail of callings to __new__ and __init__ in
>>>python inheritance ...
>>
>>Calling a (new-style) class does __new__ first, THEN calls the class's
>>__init__ on the resulting instance -- and the arguments you're passing
>>when calling the class go to both __new__ and __init__.
> 
> 
> ... so you might want something like:
> 
> class Vector(array):
>     def __new__(cls,*args):
>         return super(Vector,cls).__new__(cls,'f')
> 
And if you want to support named arguments:

class Vector(array):
     def __new__(cls,*args, **kw):
         return super(Vector,cls).__new__(cls,'f')
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to