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

Keerthi Suria Kumar Arumugam
Keerthi Suria Kumar Arumugam
4,585 Points

Solution for the challenge.. Answer is correct but does not go through

The code seems to work fine in the console but does not go through the challenge.. Is it a bug ?

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

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

2 Answers

Keerthi Suria Kumar Arumugam
Keerthi Suria Kumar Arumugam
4,585 Points

The problem is solved. I was printing the string instead of returning it. I was confused as "open" is a keyword and thought that might be causing the issue.

Joe Law
Joe Law
5,040 Points

Can anyone explain why it needed the 'self'?

Keerthi Suria Kumar Arumugam
Keerthi Suria Kumar Arumugam
4,585 Points

The attributes open and close belong to that instance(self) of the class and hence should be included before calling them.

Joe Law
Joe Law
5,040 Points

Thank you very much Keerthi! I understand more now. :D