Python Object-Oriented Python Instant Objects Method Interactivity

Jana Lafoy
Jana Lafoy
1,566 Points

Method Interactivity: Exception: argument of type 'method' is not iterable

Can someone give me a hint as to what I'm overlooking/not understanding?

first_class.py
class Student:
    name = "Your 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
        else:
            return self.reassurance

1 Answer

James Arnold
James Arnold
3,390 Points

You're so close! Don't forget when calling your self.praise() & self.reassurance() - it's a method whose parens need to be included at the end.

Jana Lafoy
Jana Lafoy
1,566 Points

Thank you! Each time I use a method I need to use parens, correct or incorrect?

James Arnold
James Arnold
3,390 Points

Jana Lafoy - Using () after a function/method means to execute the function and return it's value.

I believe using no () means to fetch the function to be passed along as a callback. I'm not 100% certain on this though, so please don't take it as fact. If someone else could chime in with a more in-depth answer I would love to hear it as well!