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 Your first method

Mahyar Najizad
Mahyar Najizad
3,572 Points

Problem

I don't know what is wrong here ??

first_class.py
class Student:
    name = "Mahyar"
    def praise(self):
        print("You're doing a great job, " + name + '!')

1 Answer

First of all, remember that name is part of the Student class, not its instance. Thus you should, by convention, rename self to be clsβ€”short for class. Also, when accessing the name variable, you need to specify cls before it.

Second, note that the problem asked you to return the string, not to print it out.

def praise(cls):
    return "You're doing a great job, {}!".format(cls.name)

I hope this helps! :grin:

Happy coding! :zap: ~Alex