> You need to call the init method of the inherited class(es) from > within your init. It's conventional to call the superclass > constructor > before doing your own initialisation so it should look like: > > def __init__(self, num): > Thread.__init__(self) > print "__init__: Num = ", num > > There is a new technique for doing this in recent Python version > (v2.2 onwards?) using the super keyword, but I've still to get > my own head around it... :-)
super isn't a keyword, but a builtin function. usage: super(self).__init__() It was mentioned on the list a couple of months ago, and as I gathered, it didn't come out in favor of super() do to the fact that if a user-defined class inherits from more than one class, super only calls one of the classes, or something like that. Perhaps it's better just to call them explicitly. Jacob _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor