I'm working out of "Game Programming (The L Line)" by Andy Harris. He writes subclasses like so:
class TransCircle(collisionObjects.Circle): def __init__(self): collisionObjects.Circle.__init__(self) self.image.set_colorkey((255, 255, 255)) Basically, he is creating a TransCircle class that inherits attributes from a Circle class inside the collisionObjects module. Is calling Circle's constructor inside of TransCircle's constructor necessary for inheritance to work? Here is a little test that I ran: In [2]: class A: ...: def __init__(self): ...: print "Class A!" ...: ...: In [3]: class B (A): ...: def __init__(self): ...: print "Class B!" ...: ...: In [4]: In [4]: a = A() Class A! In [5]: b = B(a) --------------------------------------------------------------------------- exceptions.TypeError Traceback (most recent call last) /media/<ipython console> TypeError: __init__() takes exactly 1 argument (2 given) In [6]: b = B() Class B! Looks like I don't have to call A's constructor. Or am I missing something? _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor