Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialEldin Guzin
6,010 PointsFrustration task
Can I get some hints if I am doing this the right way, it gives me a TypeError, that it expects 1 argument but 0 were given.What arguments ? Isn't list the argument that it wants ?? what excatly does len do ? And why do we use super() here, there is no parent class here, so what excatly are we inheriting from? Thanks in advance !
class Liar(list):
def __len__(list):
return super().__len__(list) + 4
1 Answer
Mark Sebeck
Treehouse Moderator 37,799 PointsDon't forget self and don't need any arguments in the return len
class Liar(list):
def __len__(self):
return super().__len__() + 4
Timothy Tseng
3,292 PointsTimothy Tseng
3,292 PointsHi Mark, can you explain why we don't need the argument for len? This seems counter intuitive since when len is used "normally" we need to pass the argument through it
Mark Sebeck
Treehouse Moderator 37,799 PointsMark Sebeck
Treehouse Moderator 37,799 PointsYou have to remember that len() is not the same as _ _ len _ _ ()
len() is a function that you use to find the length of an object. len() takes one argument which is the object you want to find the length of.
_ _ len _ _() is a method that the len() function uses. _ _ len _ _ () is being used behind the scenes by Python. It does't take any parameters. Here it is a method of the list class. You use it like: [list]. _ _ len _ _ ().
Here is a explanation I found on stack overflow.
https://stackoverflow.com/questions/2481421/difference-between-len-and-len
Hope this helps.