面向对象编程总结--Python
万物皆为对象。自然环境赋予人类无尽的遐想,而面向对象编程之思想就是来自于大自然。自然界,类和对象比比皆是,比如:鸟类和麻雀,鱼和鲤鱼......其中鸟类就是各种鸟的总称,而麻雀只不过是其中之一(对象)。
何为面向过程?何为面向对象?这是编程界的“矛盾”之一。其实,我也傻傻分不清楚......只能拿喝酒来“开刀”。哦,不是拿它来举个例子。
面向对象:
酒就是日常的生活饮品,酒就是一个抽象的class(类),“茅台”就是酒的具体对象,干杯就是喝酒的执行方法。
class Drinking_wine(object):
def __init__(self,name):
self.name = name
def drinking():
拿起酒瓶
拧开酒盖
倒酒
喝酒
然后调用类(Drinking_wine()):
maotai = Drinking_wine('茅台')
shuijingfang = Drinking_wine('水井坊')
maotai.drinking()
shuijingfang.drinking()
面向过程:
拿起桌子上的酒瓶->拧开酒盖->拿出酒杯->倒出酒->再端起酒杯->嘴出“兄弟,干杯!”->酒杯相碰->一饮而尽
def Drinking_wine():
拿起酒瓶
拧开酒盖
倒酒
喝酒
面向对象编程——Object Oriented Programming,简称OOP,OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数,是一种程序设计思想。
在Python中,所有数据类型(包括自定义对象)均可以视为对象。数据类型可以用type()识别。例如:
a = 4
type(a)
<class 'int'>
图1 type用法示例
特别地,在Python编程环境中,自定义对象的数据类型就是面向对象中的类。故而,面向对象编程的设计思想就是抽象出Class,然后根据类创建instance(实例),再由实例调用函数。
面向对象编程总结如下:
1.面向对象的抽象程度又比函数要高,因为一个Class既包含数据,又包含操作数据的方法。
2.三大特点:继承、多态和数据封装
3.认识面向对象和面向过程之间的差异
面向对象编程总结--Python的更多相关文章
- Python入门之面向对象编程(四)Python描述器详解
本文分为如下部分 引言——用@property批量使用的例子来引出描述器的功能 描述器的基本理论及简单实例 描述器的调用机制 描述器的细节 实例方法.静态方法和类方法的描述器原理 property装饰 ...
- Python学习笔记之面向对象编程(三)Python类的魔术方法
python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法.这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分 ...
- Python入门之面向对象编程(二)python类的详解
本文通过创建几个类来覆盖python中类的基础知识,主要有如下几个类 Animal :各种属性.方法以及属性的修改 Dog :将方法转化为属性并操作的方法 Cat :私人属性讲解,方法的继承与覆盖 T ...
- python学习之路-第七天-python面向对象编程简介
面向对象编程 在python中,同样是类和对象作为重要的组成部分. 而且在python中基本数据类型如int都是有封装类的,都有自己的方法,应该是和java里面的Integer类似吧 类包括域和方法: ...
- python基础-面向对象编程
一.三大编程范式 编程范式即编程的方法论,标识一种编程风格 三大编程范式: 1.面向过程编程 2.函数式编程 3.面向对象编程 二.编程进化论 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 ...
- python 学习笔记7 面向对象编程
一.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." ...
- 进击的Python【第七章】:Python的高级应用(四)面向对象编程进阶
Python的高级应用(三)面向对象编程进阶 本章学习要点: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 一.面向对象高级语法部分 静态方法 ...
- 进击的Python【第六章】:Python的高级应用(三)面向对象编程
Python的高级应用(三)面向对象编程 本章学习要点: 面向对象编程介绍 面向对象与面向过程编程的区别 为什么要用面向对象编程思想 面向对象的相关概念 一.面向对象编程介绍 面向对象程序设计(英语: ...
- Python黑帽编程2.9 面向对象编程
Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件的.硬件本质上处理的是信号,在此基础上, ...
随机推荐
- 什么是命名空间?php命名空间的基本应用分享
什么是命名空间? php中声明的函数名.类名和常量的名称,在同一次运行中是不能重复的,否则会产生一个致命的错误,常见的解决方法是约定一个前缀.例如 ,在项目开发时,用户 User 模块中的控制器和数据 ...
- .28-浅析webpack源码之compiler.resolvers
原本该在过WebpackOptionsApply时讲解这个方法的,但是当时一不小心过掉了,所以在这里补上. compiler.resolvers 该对象的三个方法均在WebpackOptionsApp ...
- IO代码记忆
FileWriter fw = new FileWriter("hello.txt"); String s = "hello world"; fw.write( ...
- mysql中使用show table status 查看表信息
本文导读:在使用mysql数据库时,经常需要对mysql进行维护,查询每个库.每个表的具体使用情况,Mysql数据库可以通过执行SHOW TABLE STATUS命令来获取每个数据表的信息. 一.使用 ...
- HTTP 405 错误 – 方法不被允许 (Method not allowed)【转载】
介绍 HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作.则这些方法如下: OPTIONS( ...
- Redis在Php项目中的实际应用场景
前言 一些案例中有的同学说为什么不可以用string类型,string类型完全可以实现呀 我建议你看下我的专栏文章<Redis高级用法>,里面介绍了用hash类型的好处 商品维度计数 对商 ...
- Python 爬取美女图片,分目录多级存储
最近有个需求:下载https://mm.meiji2.com/网站的图片. 所以简单研究了一下爬虫. 在此整理一下结果,一为自己记录,二给后人一些方向. 爬取结果如图: 整体研究周期 2-3 天, ...
- mysql alter总结
mysql alter总结(转载) 1:删除列 ALTER TABLE [表名字] DROP [列名称] 2:增加列 ALTER TABLE [表名字] ADD [列名称] INT NOT NULL ...
- python 程序退出方式
sys.exit() 执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法. 该方法中包含一个参数status,默认为0,表示正常退出,也 ...
- keytool 错误:java.to.FileNotFoundException:
老是报如题的错误: 后来才知道是因为当前的目录下没有写的权限,所以需要指定一个路径来存放android.key: keytool -genkey -alias android.key -keyalg ...