add_food()只取1个位置参数(给定2个)

时间:2015-10-23 01:37:28

标签: python class python-3.x methods arguments

以下是我的代码:

class Food(object):

    def __init__(self,name,calories,foodID):
    self.__name = name
    self.__calories = calories
    self.__foodID = foodID

    def __str__(self):
        return "{} ({} cal)".format(self.__name,self.__calories,self.__foodID)      

    #ACCESSOR VARIABLE

    def get_foodID(self):
        return self.__foodID

    def get_foodCalories(self):
        return self.__calories

class Meal(object):

    def __init__(self):
        self.__food_list = []

    def add_food(food):
        self.__food_list.append(food)

chs = Food("cheese", 80, 12345)

meal = Meal()
meal.add_food(chs)

膳食类应该只有一个属性;一个列表。 add_food()方法应该将Food参数添加到膳食中。它告诉我我给出了2个参数,但我没看到

由于

1 个答案:

答案 0 :(得分:1)

您错过了self方法

中的add_food

改变这个:

def add_food(food):

到这个

def add_food(self, food):