On Thu, 17 Jun 2010 16:36:10 +0000, Deadly Dirk wrote: > I cannot get right the super() function: Python 3.1.1+ (r311:74480, Nov > 2 2009, 14:49:22) [GCC 4.4.1] on linux2 > Type "copyright", "credits" or "license()" for more information. ==== No > Subprocess ==== >>>> class P: > def __init__(__class__,self): > print("I am a member of class P") > > >>>> class C(P): > def __init__(self): > super().__init__(self) > print("I am a member of class C") > > > > class P: > def __init__(self): > print("I am a member of class P") > > class C(P): > def __init__(self): > super().__init__(self) > print("I am a member of class C") > > x=C() > > That is more or less the text from the "Quick Python Book". What am I > doing wrong?
I tried this, too: >>> class C(P): def __init__(self): super(__class__).__init__(self) print("I am a member of class C") >>> x=C() Traceback (most recent call last): File "<pyshell#30>", line 1, in <module> x=C() File "<pyshell#29>", line 3, in __init__ super(__class__).__init__(self) TypeError: must be type, not C >>> -- The missionaries go forth to Christianize the savages - as if the savages weren't dangerous enough already. -- http://mail.python.org/mailman/listinfo/python-list