class Restaurant():
def __init__(self, restaurant_name, cuisine_type):
""" initializing name and cuisine attributes"""
self.name = restaurant_name
self.c_type = cuisine_type
self.number_served = 0
class IceCreamStand(Restaurant):
"""represents aspects of a type of restaurant specifically an IceCreamStand """
def __init__(self, restaurant_name,cuisine_type,flavors):
super().__init__(restaurant_name, cuisine_type,
flavors)
self.flavor = flavors
def display_flavors(self):
print (flavors)
##ICECREAM
dairy_queen = IceCreamStand('dairy queen' , 'ice cream','vanilla' ,'choclate' )
dairy_queen.display_flavors()
在我的任务中,我正在尝试创建一个名为IceCreamStand的类,它继承自Restaraunt类。我还想添加一个属性来存储一个风格列表并调用此方法。这是我到目前为止所尝试的但是我一直收到一条错误消息,说 init 需要4个临时参数,但有5个被给出?
答案 0 :(得分:1)
您可以在*
之前添加flavors
,以便将所有剩余的位置参数放入该列表中。
实际上,我建议您不要使用多个位置参数来进行调味。相反地传递list
:
def __init__(self, restaurant_name, cuisine_type, flavors):
...
dairy_queen = IceCreamStand('dairy queen' , 'ice cream', ['vanilla' , 'chocolate'])
如果您使用此模式,您可以稍后添加另一个带有默认值的参数,现有代码可以正常工作:
def __init__(self, restaurant_name, cuisine_type, flavors, organic=False):
...