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 (retired) Objects Create a Class with a Method

Jeremy Kerrigan
Jeremy Kerrigan
12,002 Points

Why oh why doesn't this work

Now, add a method named hours that returns "We're open from {} to {}.". Replace the first placeholder with the open time and the second with the close time. Remember you need to pass keywords to .format() if your placeholders have names.

What is wrong with my code? Thanks for any help

method.py
class Store:
  open = 9
  close = 9

def hours(self):
  return "We're open from {} to {}.".format(self.open, self.close)

Never mind figured it out! It was an indentation error on my part where I defined my method

2 Answers

Chris Freeman
MOD
Chris Freeman
Treehouse Moderator 68,454 Points

The function needs to be indented to become a method of Store.

class Store:
    open = 9
    close = 9

    def hours(self):
      return "We're open from {} to {}.".format(self.open, self.close)
Kourosh Raeen
Kourosh Raeen
23,733 Points

There is an indentation problem. The code should look like this:

class Store:
  open = 9
  close = 9

  def hours(self):
    return "We're open from {} to {}.".format(self.open, self.close)