Reputation: 5271
having trouble calling base class function in the following Python 2.3
script.
after reviewing this post:
Call a parent class's method from child class in Python?
I've generate this small piece of code:
class Base(object):
def func(self):
print "Base.func"
class Derived(Base):
def func(self):
super(Base, self).func()
print "Derived.func"
Derived().func()
code above generates this error:
Traceback (most recent call last):
File "py.py", line 13, in ?
Derived().func()
File "py.py", line 10, in func
super(Base, self).func()
AttributeError: 'super' object has no attribute 'func'
What am I missing?
Upvotes: 3
Views: 8114
Reputation: 5732
You should give super
the derived class from which you want to step up, not the base class:
super(Derived, self).func()
Right now you are trying to access the func method of Base
's superclass, which may not even exist.
Upvotes: 16