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 trialJASON LEE
17,352 PointsHow does adding the parameter `Question` extend the Class Add and Class Multiply ?
In the questions.py file, there are three Classes--Question, Add, and Multiply.
The Add
and Multiply
class have a parameter that is itself the class Question
.
How does python handle this? I don't remember this feature being taught in the previous lessons.
class Question:
answer = None
text = None
class Add(Question):
def __init__(self, num1, num2):
self.text = '{} + {}'.format(num1, num2)
self.answer = num1 + num2
class Multiply(Question):
def __init__(self, num1, num2):
self.text = f'{num1} x {num2}'
self.answer = num1 * num2
3 Answers
Steven Parker
231,236 PointsUnlike a function, in a class definition one or more terms in parentheses is not a parameter. Instead it is the name of a base class from which this one is derived.
If you're not familiar with inheritance, you might have missed one or more of the beginner courses before moving into the intermediate ones.
JASON LEE
17,352 PointsThank you Tracy Bowers I was scratching my head over this one. Good to know I'm not going crazy.
Tracy Bowers
6,816 PointsOk, so I just found a different OOP module that covers more topics. I've sorta stopped this datetime module just so I can dig more into OOP. I think Ken the instructor alluded to it in his video. It was not really showing up in the python track for some reason.
https://teamtreehouse.com/library/objectoriented-python-2
I could probably continue datetime but my undiagnosed OCD won't let me continue until I understand the way Ken implemented the classes in this app.
Good luck Jason
Tracy Bowers
6,816 PointsTracy Bowers
6,816 PointsSteven Parker Inheritance was not covered in the basic python track, only basic OOP was covered. So I think this project was probably not in a good part of the sequence for basic python users.
Correct me if I'm wrong, I just watched those OOP modules in the basic python track and I didn't see reference to inheritance.
Steven Parker
231,236 PointsSteven Parker
231,236 PointsI know that the track contents have changed since I took it, and if they accidentally removed the instruction regarding class derivation and inheritance, you might want to point it out to the Support staff directly.