当前位置:
首页 > Python基础教程 >
-
面向对象分析烤地瓜项目
1 # 面向对象分析烤地瓜 2 3 # 1.抽象类 4 # 1.1人类 5 # 1.2地瓜类 6 7 8 # 分析人类里面的属性和方法 9 # 属性:名字,性别,烤龄 10 # 方法:烤地瓜的方法,添加佐料 11 12 # 地瓜类中的属性和方法 13 # 属性:烤地瓜的状态,烤地瓜的时间,佐料列表 14 # 方法:无 15 16 17 class Person(object): 18 def __init__(self,name,sex,roast_age): 19 self.name=name 20 self.sex=sex 21 self.roast_age=roast_age 22 # 烤地瓜的方法 23 def roast(self,time,current_sweet_potato): 24 #修改烤地瓜的总时间 25 current_sweet_potato.roast_time+=time 26 # 根据烤地瓜的时间,来设置烤地瓜的状态 27 if current_sweet_potato.roast_time > 10: 28 # 修改烤地瓜的状态 29 current_sweet_potato.roast_status = "烤糊了" 30 elif current_sweet_potato.roast_time > 8: # 时间范围[9-10] 31 # 修改烤地瓜的状态 32 current_sweet_potato.roast_status = "烤好了" 33 elif current_sweet_potato.roast_time > 5: # 时间范围[6-8] 34 # 修改烤地瓜的状态 35 current_sweet_potato.roast_status = "半生不熟" 36 else: 37 # 修改烤地瓜的状态 38 current_sweet_potato.roast_status = "生的" 39 def add_condiment(self,condiment,current_sweet_potato): 40 # 把佐料添加到佐料列表 41 current_sweet_potato.condiment_list.append(condiment) 42 43 # 查看地瓜状态 44 # def show_sweet_potato(self, current_sweet_potato): 45 # print(current_sweet_potato) 46 def __str__(self): 47 return "姓名: %s 性别:%s 烤龄: %d " % (self.name, self.sex,self.roast_age) 48 49 50 class SweetPotato(object): 51 def __init__(self): 52 # 烤地瓜的状态 53 self.roast_status = "生的" 54 # 烤地瓜的时间 55 self.roast_time = 0 56 # 佐料列表属性--> 存储添加的佐料的 57 self.condiment_list = list() 58 59 def __str__(self): 60 if self.condiment_list: 61 # 代码执行到此说明,佐料列表里面有佐料信息 62 # 烤好了地瓜[番茄酱,孜然] 63 # 把佐料列表转成字符串 64 # msg = self.roast_status + "地瓜" + str(self.condiment_list) 65 # 使用字符串利用字符串拼接的操作,把列表转成字符串 66 condiment_str = ",".join(self.condiment_list) 67 # print(condiment_str, type(condiment_str)) 68 msg = self.roast_status + "地瓜" + "[" + condiment_str + "]" 69 return msg 70 else: 71 # 没有佐料 72 return self.roast_status + "地瓜" 73 74 print("============准备一个地瓜==========") 75 sweet_potato = SweetPotato() 76 print(sweet_potato) 77 print("============准备找一个烤地瓜的师傅==============") 78 person = Person("老王","男",20 ) 79 print(person) 80 print("============先烤三分钟==========") 81 person.roast(3, sweet_potato) 82 print(sweet_potato) 83 print("============再烤三分钟==========") 84 person.roast(3, sweet_potato) 85 print(sweet_potato) 86 print("============再烤三分钟==========") 87 person.roast(3, sweet_potato) 88 print(sweet_potato) 89 print("============添加佐料==========") 90 person.add_condiment("番茄酱", sweet_potato) 91 person.add_condiment("孜然", sweet_potato) 92 print(sweet_potato)
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式