Python课后习题要求“添加一个名为flavors的属性,用于存储一个由各种口味冰淇淋组成的列表”。
class Restaurant():
"""一次模拟餐馆的简单尝试"""
def __init__(self,restaurant_name,cuisine_type):
"""初始化属性restaurant_name和cuisine_type"""
self.restaurant_name = restaurant_name
self.cuisine_type = cuisine_type
self.number_severed = 0
def describe_restaurant(self):
"""描述餐馆信息"""
print("\nThe restaurant's name is "+self.restaurant_name.title()+".")
print("The cuisine's type of the restaurant is "+self.cuisine_type.title()+".")
def open_restaurant(self):
"""指出餐馆正在营业"""
print("\nThe restaurant is opening!")
def read_number_severed(self):
"""打印餐馆就餐人数"""
print("\nThe number of the severed is "+str(self.number_severed)+".")
def set_number_served(self,number):
"""设置就餐人数"""
self.number = number
def increment_number_served(self,add):
"""设置就餐人数递增量"""
self.add = add
#编写一个名为IceCreamStand的类,继承Restaurant()类
#添加一个名为flavors的属性,用于存储一个由各种口味的冰淇淋组成的列表
#编写一个显示这些冰淇淋的方法
class IceCreamStand(Restaurant):
"""冰淇淋小店的独特之处"""
def __init__(self,restaurant_name,cuisine_type,flavors):
"""
初始化父类的属性,再初始化冰淇淋小店特有的属性
"""
super().__init__(restaurant_name,cuisine_type)
self.flavors = flavors
def read_flavors(self):
"""显示冰淇淋口味"""
print("The flavors is "+self.flavors+".")
#创建一个IceCreamStand实例,并调用这个方法
icecreamstand = IceCreamStand('icecream','sweet','chocolate')
icecreamstand.read_flavors()
运行没有报错
flavors可以存储列表
参数前面加个星号*,传进去的就变成元组了,和列表差不多,不过关键是看你想怎么调用它。
class IceCreamStand(Restaurant):
"""冰淇淋小店的独特之处"""
def __init__(self,restaurant_name,cuisine_type,*flavors):
"""
初始化父类的属性,再初始化冰淇淋小店特有的属性
"""
super().__init__(restaurant_name,cuisine_type)
self.flavors = flavors
def read_flavors(self):
"""显示冰淇淋口味"""
for i in self.flavors:
print("There are flavors of "+i+".")
icecreamstand = IceCreamStand('icecream','sweet','chocolate','stawberry','milk','vanilla')
icecreamstand.read_flavors()
输出为:
There are flavors of chocolate.
There are flavors of stawberry.
There are flavors of milk.
There are flavors of vanilla.