一、实验题目
Python第七章实例和实战作业
二、实验目的和要求
1.熟悉Pycharm的运行环境
2.学习并掌握Python的面向对象程序设计
三、主要仪器设备
联想小新air15
硬件:AMD R7 5700U
软件:Windows11操作系统
四、实验内容
完成第七章实例01-05,7.5实战
利用Pycharm完成Python实验报告
实例01:创建大雁类并定义飞行方法
代码如下:
1 #----------实例01:创建大雁类并定义飞行方法----------# 2 class Geese: #创建大雁类 3 "大雁类" 4 def __init__(self,beak,wing,claw): #构造方法 5 print("我是大雁类!我有以下特征:") 6 print(beak) #输出喙的特征 7 print(wing) #输出翅膀的特征 8 print(claw) #输出爪子的特征 9 def fly(self,state): #定义飞行方法 10 print(state) 11 '''**********调用方法**********''' 12 beak_1 = "喙的基部较高,长度和头部的长度几乎相等" #喙的特征 13 wing_1 = "翅膀长而尖" #翅膀的特征 14 claw_1 = "爪子是蹼状的" #爪子的特征 15 wildGoose = Geese(beak_1,wing_1,claw_1) #创建大雁类的实例 16 wildGoose.fly("我飞行的时候,一会儿排成个人字,一会排成个一字") #调用实例方法
代码运行结果如下:
实例02:通过类属性统计类的实例个数
代码如下:
1 #----------实例02:通过类属性统计类的实例个数----------# 2 class Geese: 3 '''雁类''' 4 neck = "脖子较长" #类属性(脖子) 5 wing = "振翅频率高" #类属性(翅膀) 6 leg = "腿位于身体的中心支点,行走自如" #类属性(腿) 7 number = 0 #编号 8 def __init__(self): 9 Geese.number += 1 10 print("\n我是第" + str(Geese.number) + "只大雁,我属于雁类!我有以下特征:") 11 print(Geese.neck) #输出脖子的特征 12 print(Geese.wing) #输出翅膀的特征 13 print(Geese.leg) #输出腿的特征 14 #创建4个雁类的对象(相当于有4只大雁) 15 list1 = [] 16 for i in range(4): 17 list1.append(Geese()) 18 print("一共有" + str(Geese.number) + "只大雁")
代码运行结果如下:
实例03:在模拟电影点播功能时应用属性
代码如下:
1 #----------实例03:在模拟电影点播功能时应用属性----------# 2 class TVshow: #定义电视节目类 3 list_film = ["战狼2","红海行动","西游记女儿国","熊出没·变形记"] 4 def __init__(self,show): 5 self.__show = show 6 @property #将方法转换为属性 7 def show(self): #定义show()方法 8 return self.__show #返回私有属性的值 9 @show.setter #设置setter方法,让属性可修改 10 def show(self,value): 11 if value in TVshow.list_film: #判断值是否在列表中 12 self.__show = "您选择了《" + value + "》,稍后将播放" #返回修改的值 13 else: 14 self.__show = "您点播的电影不存在" 15 tvshow = TVshow("战狼2") #创建类的实例 16 print("正在播放:《",tvshow.show,"》") #获取属性值 17 print("您可以从",tvshow.list_film,"中选择要点播放的电影") 18 tvshow.show = "红海行动" #修改属性的值 19 print(tvshow.show) #获取属性值
代码运行结果如下:
实例04:创建水果基类及其派生类
代码如下:
1 #----------实例04:创建水果基类及其派生类----------# 2 class Fruit: #定义水果类(基类) 3 color = "绿色" #定义类属性 4 def harvest(self,color): 5 print("水果是:" + color + "的!") #输出的是形式参数color 6 print("水果已经收获……") 7 print("水果原来是:" + Fruit.color + "的!") #输出的是类属性color 8 class Apple(Fruit): #定义苹果类(派生类) 9 color = "红色" 10 def __init__(self): 11 print("我是苹果") 12 class Orange(Fruit): 13 color = "橙色" 14 def __init__(self): 15 print("\n我是橘子") 16 apple = Apple() 17 apple.harvest(apple.color) 18 orange = Orange() 19 orange.harvest(orange.color)
代码运行结果如下:
实例05:在派生类中调用基类的__init__()方法定义类属性
代码如下:
1 #----------实例05:在派生类中调用基类的__init__()方法定义类属性----------# 2 class Fruit: #定义水果类(基类) 3 def __init__(self,color = "绿色"): 4 Fruit.color = color #定义类属性 5 def harvest(self,color): 6 print("水果是:" + self.color + "的!") #输出的是形式参数color 7 print("水果已经收获……") 8 print("水果原来是" + Fruit.color + "的!") #输出的是类属性color 9 class Apple(Fruit): #定义苹果类(派生类) 10 color = "红色" 11 def __init__(self): 12 print("我是苹果") 13 super().__init__() #调用基类的__init__()方法 14 class Sapodilla(Fruit): #定义人参果类(派生类) 15 def __init__(self,color): 16 print("\n我是人参果") 17 super().__init__(color) #调用基类的__init__()方法 18 #重写harvest()方法的代码 19 def harvest(self,color): 20 print("人参果是:" + color + "的!") #输出的是形式参数color 21 print("人参果已经收获……") 22 print("人参果原来是" + Fruit.color + "的!") #输出的是类属性color 23 apple = Apple() #创建类的实例(苹果) 24 apple.harvest(apple.color) #调用harvest()方法 25 sapodilla = Sapodilla("白色") #创建类的实例(苹果) 26 sapodilla.harvest("金黄色带紫色条纹") #调用harvest()方法
代码运行结果如下:
实战一:修改手机默认语言
代码如下:
1 #----------实战一:修改手机默认语言----------# 2 class Phone: 3 '''手机类''' 4 def __init__(self,language = '英文'): 5 if language == '英文': 6 print("智能手机的默认语言为" + language) 7 else: 8 print("将智能手机的默认语言设置为" + language) 9 phone_1 = Phone() 10 phone_2 = Phone('中文')
代码运行结果如下:
实战二:给信用卡设置密码
代码如下:
1 #----------实战二:给信用卡设置密码----------# 2 class IDcard: 3 '''信用卡类''' 4 def __init__(self,card_number,password = 123456): 5 if password =='123456': 6 print('信用卡' + str(card_number) + '的默认密码为:' + str(password)) 7 else: 8 print('重置信用卡' + str(card_number) + '的密码为' + str(password)) 9 10 idcard = IDcard('4013735633800642') 11 idcard = IDcard('4013735633800642','168779')
代码运行结果如下:
实战三:打印每月销售明细
代码如下:
1 #----------实战三:打印每月销售明细----------# 2 class Money_Sale: 3 '''销售明细类''' 4 def __init__(self): 5 self.__sale_details = {'2':[('T0001','笔记本电脑'),('T0002','华为荣耀6X'),('T0003','iPad'),('T0004','华为荣耀V9'),('T0005','MacBook')]} 6 def SaleList(self,value): 7 if value in self.__sale_details: 8 print('{}月份的商品销售明细如下:'.format(value)) 9 for item in self.__sale_details['2']: 10 print("商品编号:%s 商品名称:%s" %item) 11 else: 12 print("该月没有销售数据或者输入的月份有误!") 13 print("------------销售明细------------") 14 sale = Money_Sale() 15 while True: 16 month = input("请输入要查询的月份(比如1、2、3等):") 17 if month =='0': 18 break 19 sale.SaleList(month)
代码运行结果如下:
实战四:模拟电影院的自动售票机选票页面
代码如下:
1 #----------实战四:模拟电影院的自动售票机选票页面----------# 2 class ticket_machine: 3 def __init__(self): 4 print("欢迎使用自动售票机~~") 5 def film(self,film_1): 6 ticket_machine.film = film_1 7 print("已选电影:" + film_1) 8 def time(self,time_1): 9 ticket_machine.time = time_1 10 print("电影场次:" + time_1) 11 def seat(self,seat_1): 12 ticket_machine.seat = seat_1 13 print("选择座位:" + seat_1) 14 def draw(self): 15 print("\n电影:" + ticket_machine.film) 16 print("场次:" + ticket_machine.time) 17 print("座位:" + ticket_machine.seat) 18 select = ticket_machine() 19 print("\n请选择正在上映的电影:1、《环太平洋:雷霆再起》 2、《头号玩家》 3、《红海行动》") 20 select.film("《头号玩家》") 21 print("\n请选择场次:1、9:30 2、10:40 3、12:00") 22 select.time("10:40") 23 print("\n请选择座位:10-01 10-02 10-03 10-04") 24 select.seat("10-03") 25 print("\n正在出票。。。") 26 select.draw() 27 print("\n出票完成,请别忘记取票")
代码运行结果如下:
标签:__,Python,self,color,init,第七章,print,实验报告,def From: https://www.cnblogs.com/Shing-gyl/p/16810984.html