本章学习了python中的class(类),学习了如何创建一个类,利用__init__()函数为类的变量赋初始值,定义类中的函数,修改类中的变量,以及类的继承等。
python中的类与C++不同的是,没有了private,public,protect的限制,使得类的实现、变量的操作和多态的实现等很多方面的操作都变得非常方便。
以下是本章部分练习题实现的代码,主要是实现了一个类,运用了本章提到的基本操作
#9-1 9-4 9-6 *关于导入类和练习使用模板库的练习没有涉及 class Restaurant(): #创建类 def __init__(self,name,c_t,n_s=0): #default self.restaurant_name=name self.cuisine_type=c_t self.number_served=n_s def describe_restaurant(self): print('name of the restaurant:',self.restaurant_name) print('cuisine type of the restaurant:',self.cuisine_type) print('serving customer for:',self.number_served) def open_restaurant(self): print('The restaurant is opening.') def set_number_served(self,num): self.number_served=num def increment_number_served(self,num): self.number_served+=num class IceCreamStand(Restaurant): def __init__(self,name,c_t,n_s,flas): #在这次我试过把n_s设为零,但是报错 super().__init__(name,c_t,n_s) #父类用函数super()表示 self.flavors=flas def get_flavors(self): print('flavors: ',end='') for fla in self.flavors: print(fla,end=' ') x=Restaurant('金拱门','fast food') x.set_number_served(998) x.increment_number_served(100) x.describe_restaurant() x.open_restaurant() y=IceCreamStand('哈根达斯','ice cream',20000,['chocolate','vanilla','strawberry']) y.describe_restaurant() y.get_flavors()2018/4/2