Python学习日志-8

今天分享的是第九章的要点和部分课后习题的参考代码。

要点:

1、类的创建和使用(class关键字和初始化函数__init__()).

2、类的属性访问和方法调用.

3、为属性提供默认值.

4、继承类的定义以及如何将继承类与父类关联起来.

5、给子类定义新属性和方法以及重写父类方法.

6、类的导入.

7、Python标准库中也有很多很好用的类.



参考代码:

9-1 

class Restaurant():
	def __init__(self, name, type_):
		self.restaurant_name = name;
		self.cursine_type = type_;

	def describe_restaurant(self):
		print("The name is " + self.restaurant_name + ".")
		print("The cuisine type is " + self.cursine_type + ".")

	def open_restaurant(self):
		print("The restaurant is open.")

restaurant1 = Restaurant("KFC", "fried food")
restaurant1.describe_restaurant()
restaurant1.open_restaurant()

运行结果:

The name is KFC.
The cuisine type is fried food.
The restaurant is open.
[Finished in 0.0s]

9-2(略,与9-1类似)

9-3(略,与9-1类似)

9-4

class Restaurant():
	def __init__(self, name, type_):
		self.restaurant_name = name
		self.cursine_type = type_
		self.number_served = 0

	def describe_restaurant(self):
		print("The name is " + self.restaurant_name + ".")
		print("The cuisine type is " + self.cursine_type + ".")

	def open_restaurant(self):
		print("The restaurant is open.")

	def set_number_served(self, number):
		self.number_served = number

	def increment_number_served(self,number):
		self.number_served = self.number_served + number

restaurant1 = Restaurant("KFC", "fried food")
print(restaurant1.number_served)
restaurant1.set_number_served(20)
print(restaurant1.number_served)
restaurant1.increment_number_served(2)
print(restaurant1.number_served)

运行结果:

0
20
22
[Finished in 0.0s]

9-5(略,与9-4类似)

9-6

class Restaurant():
	def __init__(self, name, type_):
		self.restaurant_name = name
		self.cursine_type = type_
		self.number_served = 0

	def describe_restaurant(self):
		print("The name is " + self.restaurant_name + ".")
		print("The cuisine type is " + self.cursine_type + ".")

	def open_restaurant(self):
		print("The restaurant is open.")

	def set_number_served(self, number):
		self.number_served = number

	def increment_number_served(self,number):
		self.number_served = self.number_served + number

class IceCreamStand(Restaurant):
	def __init__(self,name, type_):
		super().__init__(name, type_)
		self.flavors = ["cherry", "chocolate", "tea"]

	def show_flavors(self):
		print("We have these flavors:")
		for flavor in self.flavors:
			print(flavor)

ICS = IceCreamStand("KFC","fried food")
ICS.show_flavors()

运行结果:

We have these flavors:
cherry
chocolate
tea
[Finished in 0.0s]

9-7(略,与9-6类似)

9-8(略,与9-6类似)

9-9(略,与9-6类似)

9-10

#test1.py
class Restaurant():
	def __init__(self, name, type_):
		self.restaurant_name = name
		self.cursine_type = type_
		self.number_served = 0

	def describe_restaurant(self):
		print("The name is " + self.restaurant_name + ".")
		print("The cuisine type is " + self.cursine_type + ".")

	def open_restaurant(self):
		print("The restaurant is open.")

	def set_number_served(self, number):
		self.number_served = number

	def increment_number_served(self,number):
		self.number_served = self.number_served + number

class IceCreamStand(Restaurant):
	def __init__(self,name, type_):
		super().__init__(name, type_)
		self.flavors = ["cherry", "chocolate", "tea"]

	def show_flavors(self):
		print("We have these flavors:")
		for flavor in self.flavors:
			print(flavor)
from test1 import Restaurant

restaurant1 = Restaurant("KFC","fried food")
restaurant1.describe_restaurant()
restaurant1.open_restaurant()


运行结果:

The name is KFC.
The cuisine type is fried food.
The restaurant is open.
[Finished in 0.0s]

9-11(略,与9-10类似)

9-12(略,与9-10类似)

猜你喜欢

转载自blog.csdn.net/weixin_38224302/article/details/79841254