super() woes (n00b)
Deadly Dirk
dirk at plfn.invalid
Thu Jun 17 12:53:27 EDT 2010
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.
More information about the Python-list
mailing list