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

烤地瓜时间

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. 浅析图数据库 Nebula Graph 数据导入工具——Spark Writer

    从 Hadoop 说起 近年来随着大数据的兴起,分布式计算引擎层出不穷.Hadoop 是 Apache 开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用.Hadoop 的设计核心思想 ...

  2. 我和我的DBA之路

    这几天,突然想写写这些年的工作总结,毕业至今快20年的回顾. 想到20年前,在做毕业设计的时候,当时是学的机械工程类专业,因为带毕业设计的老师兼职企业有个门户网站的需求,而我又会做点网站设计,带的老师 ...

  3. .Net下的简易Http请求调用(Post与Get)

    http请求调用是开发中经常会用到的功能.在内,调用自有项目的Web Api等形式接口时会用到:在外,调用一些第三方功能接口时,也会用到,因为,这些第三方功能往往是通过http地址的形式提供的,比如: ...

  4. XAF新手入门 - XAF设计模式探讨

    前言 刚接触XAF的小伙伴可能会有一个疑惑,XAF中有Model(BusinessObject).View.Controller,感觉明显是一个MVC的设计模式,但当你用MVC的设计模式与其对应时,又 ...

  5. Lucene轻量级搜索引擎,真的太强了!!!Solr 和 ES 都是基于它

    一.基础知识 1.Lucene 是什么 Lucene 是一个本地全文搜索引擎,Solr 和 ElasticSearch 都是基于 Lucene 的封装 Lucene 适合那种轻量级的全文搜索,我就是服 ...

  6. 数据处理(传值& 乱码)

    处理前端提交的数据 1.提交的域名称和处理方法的参数名一致时    /hello?name=akagi @RequestMapping("/hello") public Strin ...

  7. Django:Nginx 启动,无法加载样式,无法加载静态文件

    一般是由于 Nginx 配置文件的问题 # 编辑 Nginx 配置文件 vim /etc/nginx/nginx.conf # 如果出现下面这个 use nginx 就需要改成 use root 保存 ...

  8. shell求水仙花数

    水仙花数(100-999).水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身 c++代码 int i=100; while(i<=999){ int sum=0; int ...

  9. 3DCAT实时云渲染助力VR虚拟现实迈向成熟

    近年来,虚拟现实(Virtual Reality, VR)技术在市场上的应用越来越广泛,虚拟现实已成为一个热门的科技话题.相关数据显示,2019年至2021年,我国虚拟现实市场规模不断扩大,从2019 ...

  10. ViewStub你真的了解吗

    目录介绍 01.什么是ViewStub 02.ViewStub构造方法 03.inflate()方法解析 04.WeakReference使用 05.ViewStub为何无大小 06.ViewStub ...