当前位置:   article > 正文

python小程序200例-Python入门小程序(二)

python小程序200例-Python入门小程序(二)

学习了Python编程从入门到实践的第九章,本次的内容是类的创建、对象的实例化以及继承等内容。

1. 创建一个名为Restaurant的类,其方法__init__()设置两个属性:restaurant_name 和cuisine_type

class Restaurant():

def __init__(self,restaurant_name,cuisine_type):

self.restaurant_name=restaurant_name

self.cuisine_type=cuisine_type

2. 创建一个名为describe_restaurant()的方法和一个名为open_restaurant()的方法,其中前者打印前述两项信息,而后者打印一条消息,指出餐馆正在营业。根据这个类创建一个名为restaurant的实例,分别打印其两个属性,再调用前述两个方法。

def describe_restaurant(self):

print('餐馆名:'+self.restaurant_name+', '+'菜系:'+self.cuisine_type)

def open_restaurant(self):

print(self.restaurant_name+' is opening!')

3. 根据你为完成练习9-1 而编写的类创建三个实例,并对每个实例调用方法describe_restaurant()。

sun=Restaurant('Sun','Shanghai')

sun.describe_restaurant()

moon=Restaurant('Moon','Beijing')

moon.describe_restaurant()

star=Restaurant('Star','Guangzhou')

star.describe_restaurant()

4. 打印结果:

餐馆名:Sun, 菜系:Shanghai

餐馆名:Moon, 菜系:Beijing

餐馆名:Star, 菜系:Guangzhou

5. 添加一个名为set_number_served()的方法,它让你能够设置就餐人数。调用这个方法并向它传递一个值,然后再次打印这个值。

####修改describe_restaurant方法,增加显示就餐人数

def describe_restaurant(self):

print('餐馆名:'+self.restaurant_name+', '+'菜系:'+self.cuisine_type+', '+'就餐人数:'+str(self.number_served))

def set_number_served(self,number):

if number>=self.number_served:

self.number_served=number

else:

print('无法更新')

6. 添加一个名为increment_number_served()的方法,它让你能够将就餐人数递增。调用这个方法并向它传递一个这样的值:你认为这家餐馆每天可能接待的就餐人数。

def increment_number_served(self,number):

self.number_served += number

7. 打印结果:

餐馆名:Sun, 菜系:Shanghai, 就餐人数:20

餐馆名:Sun, 菜系:Shanghai, 就餐人数:35

8. 继承父类创建子类,编写一个名为IceCreamStand的类,让它继承Restaurant的类。添加一个名为flavors 的属性,用于存储一个由各种口味的冰淇淋组成的列表。

class IceCreamStand(Restaurant):

def __init__(self,restaurant_name,cuisine_type):

super().__init__(restaurant_name,cuisine_type)

self.flavors=['apple','watermelon','peach']

9. 编写一个显示这些各种口味冰淇淋的方法。

def PrintFlavor(self):

print('冰淇淋的口味有:'+str(self.flavors).strip('[').strip(']'))

10. 创建一个IceCreamStand 实例,并调用这个方法。

pink=IceCreamStand('Pink','Kunmming')

pink.describe_restaurant()

pink.PrintFlavor()

11. 实验结果:

餐馆名:Pink, 菜系:Kunmming, 就餐人数:0

冰淇淋的口味有:'apple', 'watermelon', 'peach'

12. 改进,编写一个名为Flavor 的类,它只有一个属性——flavorsList将方法PrintFlavor()移到这个类中,在IceCreamStand类中,将一个Flavor 实例用作其属性。

class IceCreamStand(Restaurant):

def __init__(self,restaurant_name,cuisine_type):

super().__init__(restaurant_name,cuisine_type)

self.flavors=Flavors()

class Flavors():

def __init__(self):

self.flavorsList = ['apple', 'watermelon', 'peach']

def PrintFlavor(self):

print('冰淇淋的口味有:'+str(self.flavorsList).strip('[').strip(']'))

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/92103
推荐阅读
相关标签
  

闽ICP备14008679号