例子:烤地瓜,不同时间,反馈不同状态,并给不同状态地瓜加入不同味道

烤地瓜时间

0-3分钟,生的

4-7分钟,半生不熟的

8-12分钟,熟了

12分钟以上,已烤熟,糊了

用户可以按自己的意思添加调料

烤地瓜类:SweetPotato

时间:cook time

状态:Cook state

调料:condiments

代码实现:

class SweetPotato:

# 初始化init

def init(self):

self.cook_time=0

self.state='生的'

self.condiments=[]

# 烤地瓜

def cook(self,time):

try:

if time <=0:

self.state='非法录入,重新录入'

else:

self.cook_time=self.cook_time +time

# if self.cook_time>=0 and self.cook_time<=3 :

if 1<=self.cook_time ️: #效果同上

self.state='生的'

elif 3<=self.cook_time <7: #效果同上

self.state='半生不熟'

elif 7<=self.cook_time <12: #效果同上

self.state='熟了'

else: #效果同上

self.state='烤熟了,糊了'

except Exception as e:

print('非法录入,请录入数字!!!')

# 添加调料

def add_condiment(self, condiment):

self.condiments.append(condiment)

# print(f'追加:{self.condiments} 成功!')

# 重写对象信息
def __str__(self):
return f'烘烤时间: {self.cook_time} 烘烤状态: {self.state} 加入的调料: {self.condiments}'

运用测试功能,查看是否实现

if name == 'main':

# 实例化对象

sp=SweetPotato()

# 查看默认初始化值

print(sp)

print('-'*31)

# 给定某时间,查看功能是否实现

sp.cook('abc')

# 加入调料

sp.add_condiment('麻辣')

sp.add_condiment('芝士')

# 打印

print(sp)

在烤地瓜实现中,加入异常处理,避免输入非数字情景,在不同烤地瓜状态加入不同调料,让其更具有多样性。

在python中通过面向对象方式,实现烤地瓜案例的更多相关文章

  1. 面向对象相关概念与在python中的面向对象知识(魔法方法+反射+元类+鸭子类型)

    面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明( ...

  2. 22.python中的面向对象和类的基本语法

    当我发现要写python的面向对象的时候,我是踌躇满面,坐立不安呀.我一直在想:这个坑应该怎么爬?因为python中关于面向对象的内容很多,如果要讲透,最好是用面向对象的思想重新学一遍前面的内容.这个 ...

  3. python中的面向对象编程

    在python中几乎可以完成C++里所有面向对象编程的元素. 继承:python支持多继承: class Derived(base1, base2, base3): pass 多态:python中的所 ...

  4. 2019-04-15 Python中的面向对象学习总结

    一.面向对象总结: (1)三要素:封装,继承,多态                                       详细介绍链接:https://www.jianshu.com/p/68a ...

  5. Python 中的面向对象和异常处理

    在之前我们已经说过了 Python 中内置的主要的几种对象类型,(数,字符串,列表,元组和字典).而面向对象的核心人物还没出场呢 .那么我们常说的对象是什么类型的呢,其实他的类型就是“类”.继承封装和 ...

  6. Python 中的面向对象编程

    面向对象编程(Object-oriented programming, OOP)是一种基于对象概念的编程范式,可包含属性(attribute)形式的数据以及方法(method)形式的代码.另一种对 O ...

  7. 第四章 python中的面向对象设计

    一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需 ...

  8. python学习之【第十七篇】:Python中的面向对象(类和对象)

    1.什么是类和类的对象? 类是一种数据结构,我们可以用它来定义对象,后者把数据值和行为特性融合在一起,类是现实世界的抽象的实体以编程形式出现.实例是这些对象的具体化.类是用来描述一类事物,类的对象指的 ...

  9. python中的面向对象和面向过程

    一.面向对象和面向过程 一.什么是面向过程 核心是过程二字:面向过程是一种流水线的工作流程,是先做什么在做什么 二.什么是面向对象 核心 是对象二字:是一种编程思想,上帝思维,一切皆对象,编程中负责调 ...

  10. Java和python中的面向对象

    Python与Java中的示例类 Java类是在与类同名的文件中定义的.因此,必须将该类保存在一个名为Car.java的文件中.每个文件中只能定义一个类. public class Car { pri ...

随机推荐

  1. 【Azure 应用服务】如何来检查App Service上证书的完整性以及在实例中如何查找证书是否存在呢?

    问题描述 1:如何来检查App Service上证书的完整性呢? 2:如何来检查App Service的实例上是否包含这个证书呢? Windows 环境 or  Linux 环境? 问题解答 问题一: ...

  2. 【Azure API 管理】是否可以将Swagger 的API定义导入导Azure API Management中

    问题描述 是否可以将Swagger 的API定义导入导Azure API Management中? 操作步骤 是的,可以通过APIM门户导入单个的API Swagger定义文件.具体步骤如下: 第一步 ...

  3. 答应我,在vue中不要滥用watch好吗?

    前言 上周五晚上8点,开开心心的等着产品验收完毕后就可以顺利上线.结果产品突然找到我说要加需求,并且维护这一块业务的同事已经下班走了,所以只有我来做.虽然内心一万头草泥马在狂奔,但是嘴里还是一口答应没 ...

  4. [Rocky Linux] 使用btrfs

    使用btrfs rocky本身并没有btrfs的相关管理工具,所以需要自己安装,但是遗憾的发现它的源中啥也没有.只能考虑自己安装. 相关说明 btrfs Wiki (kernel.org) 可以从中得 ...

  5. CPNtools协议建模安全分析--ML语言之颜色集定义(六)

    之前一直在怀疑我是不是因为对CPN Tools的原理结构还是不够理解,对Petri网的还没有弄清楚,越往后面看这种质疑越来越严重. 之前说CPN Tools在对称和非对称算法中不能形式化的问题,后续看 ...

  6. Word中的公式复制到Visio中乱码问题

    将word中编辑好的公式复制到Visio中出现乱码问题 如图所示问题: 解决方案(Visio 选项 --> 高级 --> 显示 ->勾选禁用增强元文件优化) 具体的公式导入和解决操作 ...

  7. gitee 流水线 定时触发 不能用,不能白嫖了

    gitee 流水线 定时触发 不能用,不能白嫖了 白研究半天了,只好回去拿centos服务器 搞定时任务了

  8. Centos挂在U盘的时候无法挂载

    网上的教学视频大部分全是以centos为教材底子--没办法更换系统了,这样方便麻! 我参考的文章: https://blog.csdn.net/shengjie87/article/details/1 ...

  9. jenkins安装和基本使用

    参考:https://zhuanlan.zhihu.com/p/56037782(安装) https://gitee.com/oschina/Gitee-Jenkins-Plugin/(使用) htt ...

  10. C++小细节

    cin不仅遇到EOF会返回无效状态(通常用来终止循环),遇到无效输入的时候也会返回无效状态,比如向整型变量输入字符. char类型的大小和机器有关,最小8位,大多数机器字节(byte)是8位,byte ...