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