Im confused on how to print out my fav food is cake on my console and I also keep getting an error that says 'Person' object has no attribute 'Food'

Question:

class Person:
  def __init__(self,Food):
    
    def FindFood(self):
      print("my fav food is"+ self.Food)
p1 = Person("cake")
p1.FindFood()
Asked By: Rina Kim

||

Answers:

You’re missing some code, and your indentation is off. First, in your class’s __init__ method, you need to assign the Food argument to the attribute self.Food. It doesn’t happen automatically.

class Person:
    def __init__(self,Food):
        self.Food = Food

Next, your method FindFood is a sibling to the __init__ method, not contained within it, so you need to unindent it one level.

class Person:
    def __init__(self,Food):
        self.Food = Food

    def FindFood(self)
        print("my fav food is "+ self.Food)

The rest of your code is correct: make an instance of your class called p1, passing the Food argument "cake". Then, call the FindFood method and it prints the result.

Note that I changed the indentation to 4 spaces, as specified in PEP 8 — The Style Guide for Python Code.

Answered By: MattDMo
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.