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

bright chibuike
bright chibuike
3,245 Points

method

what could the answer pls class Student: name = 'mike'

def praise(self):
    if self.name:
        return ("Your doing a great job,{}".format(name))

mike = Student() mike.name ='mike' mike.praise()

first_class.py
class Student:
    name = 'mike'

    def praise(self):
        if self.name:
            return ("Your doing a great job,{}".format(name))

mike = Student()
mike.name ='mike'
mike.praise()

You were close change your praise function to:

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

there is no need for this following code so you can remove it:

mike = Student()
mike.name ='mike'
mike.praise()

1 Answer

Steven Parker
Steven Parker
229,783 Points

When referring to instance variables, you need the prefix "self." in front of the name (like "self.name").

Then, as Tlotlo mentioned, you have some things not needed by the challenge:

  • the method doesn't need the conditional ("if")
  • only the method needs to be defined, you don't need any code outside of the class