There are two errors here:
super()
only works for new-style classes; useobject
as a base class forFrame
to make it use new-style semantics.You still need to call the overridden method with the right arguments; pass in
image
to the__init__
call.
So the correct code would be:
class Frame(object):
def __init__(self, image):
self.image = image
class Eye(Frame):
def __init__(self, image):
super(Eye, self).__init__(image)
self.some_other_defined_stuff()