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 trial

Python Object-Oriented Python Instant Objects __init__

csr13
csr13
33,290 Points

What is wrong with my code? I believe I am doing everything for this step, is there something I am missing?

Please don't solve this for me, just let me know what is wrong.

first_class.py
class Student:
    name = "Your name"

    def __ init__(self, name = "Your name"):
        self.name = name

    def praise(self):
        return "You inspire me, {}".format(self.name)

    def reassurance(self):
        return "Chin up, {}. You'll get it next time!".format(self.name)

    def feedback(self, grade):
        if grade > 50:
            return self.praise()
        return self.reassurance()

2 Answers

Brandon Spangler
Brandon Spangler
8,756 Points

You want each instance of the class to have its own name. You don't want each object to share the same name. A class variable is shared among object while an instance variable belongs to an instance. They only want one type of variable out of the two types mentioned for this challenge. Maybe in your code you have both.

csr13
csr13
33,290 Points

Well the code passed the challenge like it was; the error was a simple typo error. Instead of typing init I was typing __ init_. I was adding a whitespace after the first _. It was literally right in front of my face lol. Oh well, lesson learned.