python面向对象,烤地瓜应用
来源:互联网 发布:网络suv有啥好处和坏处 编辑:程序博客网 时间:2024/04/27 15:37
- 面向过程:根据业务逻辑从上到下写垒代码
- 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
- 面向对象:对函数进行分类和封装,让开发“更快更好更强…”
面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
while True:
if cpu利用率 > 90%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
if 硬盘使用空间 > 90%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
if 内存占用 > 80%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
随着时间的推移,开始使用了函数式编程,增强代码的重用性和可读性,就变成了这样
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def发送邮件(内容)
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
whileTrue:
ifcpu利用率>90%:
发送邮件('CPU报警')
if硬盘使用空间>90%:
发送邮件('硬盘报警')
if内存占用>80%:
发送邮件('内存报警')
今天我们来学习一种新的编程方式:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)
创建类和对象
面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用。
类就是一个模板,模板里可以包含多个函数,函数里实现一些功能
对象则是根据模板创建的实例,通过实例对象可以执行类中的函数
- class是关键字,表示类
- 创建对象,类名称后加括号即可
ps:类中的函数第一个参数必须是self(详细见:类的三大特性之封装)
类中定义的函数叫做 “方法”
1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建类
classFoo:
defBar(self):
print'Bar'
defHello(self,name):
print'i am %s'%name
# 根据类Foo创建对象obj
obj=Foo()
obj.Bar() #执行Bar方法
obj.Hello('wupeiqi')#执行Hello方法
诶,你在这里是不是有疑问了?使用函数式编程和面向对象编程方式来执行一个“方法”时函数要比面向对象简便
- 面向对象:【创建对象】【通过对象执行方法】
- 函数编程:【执行函数】
观察上述对比答案则是肯定的,然后并非绝对,场景的不同适合其的编程方式也不同。
总结:函数式的应用场景 –> 各个函数之间是独立且无共用的数据
面向对象三大特性
面向对象的三大特性是指:封装、继承和多态。
烤地瓜的属性和方法:
cookedLevel:
0-3 生的
大于3 半生不熟
大于5 烤好了
大于8 已经烤成木炭
默认开始时生成的
cookedString:
这是字符串,描述地瓜生熟程度
condiments:
地瓜的配料,用列表来存
方法:
cook() 时间
addCondiments()加配料
__init__ 设置默认
__str__ print输出更好看
图示大概完成内容
代码如下:
#定义一个地瓜类,注意是大驼峰命名class SweetPoato: #初始化,用来设置默认属性 def __init__(self): self.cookedLevel = 0 self.cookedString = "生" self.condiments = [] def __str__(self): msg = "您的地瓜已经处于 " + self.cookedString + "的状态" if len(self.condiments)>0: msg = msg + " ,添加的佐料为:" for temp in self.condiments: msg = msg + temp + ", " #把两端多余的逗号去掉 msg = msg.strip(", ") return msg # 用火去烤地瓜 def cook(self,time): self.cookedLevel += time if self.cookedLevel>8: self.cookedString = "烤糊了" elif self.cookedLevel>5: self.cookedString = "熟了" elif self.cookedLevel > 3: self.cookedString = "半生不熟" else: self.cookedString = "生" def addCondiments(self,temp): self.condiments.append(temp)#创建一个地瓜对象digua = SweetPoato()print(digua)print("-----接下来开始 烤-----")print("---烤两分钟---")digua.cook(2)print(digua)print("---又烤两分钟---")digua.cook(2)print(digua)print("---添加番茄酱---")digua.addCondiments("番茄酱")print(digua)print("---添加芥末酱---")digua.addCondiments("芥末酱")print(digua)
阅读全文
0 0
- python面向对象,烤地瓜应用
- Python起步之面向对象初步应用(烤地瓜)
- Python小项目-烤地瓜
- 烤地瓜
- 商用烤地瓜机
- python面向对象应用--存放家具
- python面向对象的简单应用
- python 面向对象
- python面向对象初步
- python面向对象
- Python面向对象详解
- python面向对象编程
- python面向对象
- python 面向对象
- python 面向对象编程
- python面向对象编程
- python面向对象编程
- python 面向对象笔记
- 多日没启动oracle,今天启动发现SQL DEVELOPER 无法连接上,监听程序也无法启动
- c# 获取List中重复的数据
- 新手前端必须要会的PS
- jquery如何操作类名相同的一组标签(文章后有结合weUI使用的实际例子)
- 欢迎使用CSDN-markdown编辑器
- python面向对象,烤地瓜应用
- 网络编程SOCKET实现一对一网络聊天,Ctrl+F5
- DELPHI的一些开源项目GIT地址
- 浏览器工作原理--分析
- mysql数据库的备份和恢复
- treeview控件
- c++ Json库读取和写入json文件
- 设计模式
- 安卓工具类1——像素PX和dp互相转换的方法(获取手机屏幕尺寸PX)