贵州省建设厅的网站,app生成下载链接,公司网站未备案,怎么把危险网站学习内容#xff1a;《python编程#xff1a;从入门到实践》第二版
知识点#xff1a;
类、子类、继承、调用函数 练习内容#xff1a;
练习9-6#xff1a;冰激凌小店
冰激凌小店是一种特殊的餐馆。编写一个名为IceCreamStand的类#xff0c;让它继承为完成练习9-1或…学习内容《python编程从入门到实践》第二版
知识点
类、子类、继承、调用函数 练习内容
练习9-6冰激凌小店
冰激凌小店是一种特殊的餐馆。编写一个名为IceCreamStand的类让它继承为完成练习9-1或练习9-4而编写的Restaurant类。这两个版本的Restaurant类都可以挑选你更喜欢的那个即可。添加一个名为flavors的属性用于存储一个由各种口味的冰激凌组成的列表。编写一个显示这些冰激凌的方法。创建一个IceCreamStand实例并调用这个方法。
我的代码运行结果
class Restaurant:def __init__ (self,restaurant_name,cuisine_type):self.restaurant_name restaurant_nameself.cuisine_type cuisine_typedef describe_restaurant(self):print(f餐馆名,{self.restaurant_name})print(f餐馆类型,{self.cuisine_type}\n)def open_restaurant(self):print(f{self.restaurant_name}正在营业中~\n)class IceCreamStand(Restaurant):#加上父类def __init__(self,restaurant_name,cuisine_type):super().__init__(restaurant_name,cuisine_type)self.flavors 5def describe_icecream(self):print(f这里有{self.flavors}种口味的冰淇淋分别是草莓、巧克力、抹茶、芒果和原味)icecream1 IceCreamStand(DQ,冰淇淋店)
icecream1.describe_restaurant()
icecream1.open_restaurant()
icecream1.describe_icecream() 练习
注意点
1.建立子类时和父类关联的方法中需要加self
2.super().这一句注意格式和不需要加self 如果出现这样的报错就是属性的数量不一样了需要再检查是否有写self之类的。
3.flavor的属性储存一个列表我没有想好一开始出现了以下报错 一个方面是super后面没加另一方面是我对照课本后flavors这个地方一般是数据且如果我需要和列表一起打印出来不知道怎么做我选择把flavors作为一个口味总数print的时候分别概述不同的口味我不知道对不对是不是投机解题了。最后反正是打印出来的。
修改了代码如下想要缩减flavors [巧克力,抹茶,草莓,芒果,原味]都会报错
class Restaurant:def __init__ (self,restaurant_name,cuisine_type):self.restaurant_name restaurant_nameself.cuisine_type cuisine_typedef describe_restaurant(self):print(f餐馆名,{self.restaurant_name})print(f餐馆类型,{self.cuisine_type}\n)def open_restaurant(self):print(f{self.restaurant_name}正在营业中~\n)class IceCreamStand(Restaurant):def __init__(self,restaurant_name,cuisine_type):super().__init__(restaurant_name,cuisine_type)#这里加flavors会显示not defineflavors [巧克力,抹茶,草莓,芒果,原味]#去掉报错flavors会显示not defineself.flavors flavorsdef describe_icecream(self):flavors [巧克力,抹茶,草莓,芒果,原味]#去掉报错flavors会显示not definefor flavor in flavors:print(f这里的口味有{flavor})icecream1 IceCreamStand(DQ,冰淇淋店)
icecream1.describe_restaurant()
icecream1.open_restaurant()
icecream1.describe_icecream()
总结问题
问题就是不知道列表这么写是否合适。