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 trialArcee Palabrica
8,100 PointsClarification on TypeError: __init__ is missing a required positional argument 'name'
Hey guys can anyone clarify why is it that by the time the name value goes to the super calls it's lost its positional argument and doesn't put name as the first argument that is provided?
2 Answers
Seth Kroger
56,414 PointsThough you haven't shown any code to pin down the error, super() is a function call just like any other. If there are any arguments to be passed they need to be included just like a regular function.
Nicholas Rogers
8,384 PointsThe reason his code failed is because in the init() function of his Character class, there was no *args parameter, only (self, name, **kwargs). This means that even though the name parameter is passed into the Sneaky class' init, it is not expected to come through into the Character init and is disregarded. Kenneth fixed the issue by making name a kwarg, since kwarg is written into the Character class' list of init parameters, but you could also fix the problem by adding in the *args to the list of Character init() parameters.
Arcee Palabrica
8,100 PointsArcee Palabrica
8,100 PointsSeth Kroger thanks man. Sorry I didn't put the error ? But I was actually referring to the video Multiple Superclasses when Kenneth Love made the Character class the final class before he ran into an error. I think that was around minute 4 or something. And how did name="" resolve the error?