万物皆为对象。天然环境赋予人类无尽的遐想,而面向对象编程之思想就是来自于大天然。天然界,类和对象比比皆是,好比:鸟类和麻雀,鱼和鲤鱼......其中鸟类就是各类鸟的总称,而麻雀只不过是其中之一(对象)。编程
何为面向过程?何为面向对象?这是编程界的“矛盾”之一。其实,我也傻傻分不清楚......只能拿喝酒来“开刀”。哦,不是拿它来举个例子。函数
面向对象:ui
酒就是平常的生活饮品,酒就是一个抽象的class(类),“茅台”就是酒的具体对象,干杯就是喝酒的执行方法。spa
class Drinking_wine(object):设计
def __init__(self,name):code
self.name = name对象
def drinking():继承
拿起酒瓶it
拧开酒盖面向对象编程
倒酒
喝酒
而后调用类(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.认识面向对象和面向过程之间的差别