Python Object-Oriented Python Advanced Objects Frustration

Couldn't call list methods on `Liar`

Hi. Just a small bump I've hit here. Anyone know?

(I'm feeling my 2 init lines are unneeded, so I'm leaving them in but I've commented out.)

class Liar(list):
#    def __init__(self, *args, **kwargs):
#        self = list.__init__(self, *args, **kwargs)

    def __len__(self):
        n = super().len(self) + 1
        return n

1 Answer

Eric McKibbin
Eric McKibbin
Treehouse Moderator 11,441 Points

Hi Mark,

You want to call your super's dunder methods the same way that you would inside the super class, not outside of it. e.g. super().__len__() instead of len(args)