#原代码如下:
class Restaurant():
"""模拟餐厅"""
def __init__(self,name,type):
"""初始化属性name和age"""
self.name = name
self.type = type
self.number_served = 0
def describe_restaurant(self):
"""介绍restaurant的信息"""
print("restaurant的名字是"+self.name+",类型是"+self.type)
def open_restaurant(self):
"""表示餐厅正在营业"""
print(self.name+"正在营业中。")
def set_number_served(self,people):
self.number_served = people
def increment_number_served(self,increment_of_population):
self.number_served = self.number_served + increment_of_population
class IceCreamStand(Restaurant):
def __init__(self,name,type):
super().__init__(self,name,type)
self.flavors = []
def add_the_flavor(self,*new_flavor):
self.flavors.append(*new_flavor)
def print_the_flavors(self):
print("本店有以下口味冰淇淋:")
for flavor in self.flavors:
print(flavor+"口味冰淇淋")
yellin = IceCreamStand("名字","种类")
yellin.add_the_flavor("草莓","香蕉","巧克力")
yellin.print_the_flavors()
#结果是报错
>>> yellin = IceCreamStand("名字","种类")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in __init__
TypeError: Restaurant.__init__() takes 3 positional arguments but 4 were given
请问一下问题在于何处?多谢。
self.flavors.append(*new_flavor)
-->>
self.flavors.extend(new_flavor)