python之面向对象

Python018

python之面向对象,第1张

面向对象(OOP)是一种对现实世界理解和抽象的方法,对象的含义是指在现实生活中的具体事物, 一切皆对象 ,Python 是一门面向对象的语言,面向对象编程简单来说就是一种 封装代码 的方式。

Python 中类的定义使用 class 关键字定义类,语法如下所示

举例,定义一个类 Cat

构造方法 init() 会在类实例化时自动调用。无论构造方法还是其他方法都需要将 self 作为第一个参数,它代表类的实例。

类创建好后,可以直接通过类名访问属性,格式为: 类名.属性名 ,比如我们访问 Cat 类的 color 属性,如下所示:

创建对象也称类的实例化,比如我们通过 Cat 类创建对象,如下所示:

创建好对象后,使用它访问属性和调用方法了,如下所示:

内部私有属性和方法是可以被访问和调用的。

我们来一起看个例子,如下所示:

输出结果:

Python 支持类的继承,而且支持多继承,语法格式为:

示例如下所示:

如果继承的父类方法不能满足我们的需求,这时子类可以 重写 父类方法,如下所示:

. 面向过程:

1、分析解决问题在步骤并解决。

2、公式:程序=算法+数据结构

3、优点:所有环节细节自己掌握

4、缺点:所有细节都自己考虑,工作量左

.面向对象:

1、找出解决问题在人,然后分配职责。

2、公式:程序=对象+交互

(1)思想层面:可模拟现实场景,更接近人类思维。

有利于梳理归纳,分析解决问题。

(2)技术层面:

高复用:对重复代码封装,重复利用。提高开发效率

高扩展:增加新的功能,不修改以前在代码

高维护:代码可读性好,逻辑清晰,结构规整。

。类:抽象的概念,即生活中的类别

对象:类有具体实例,即归属于某个类别的“个体”

类是创建对象的模板

----数据类型 :名词类型的状态

----方法成员:动词类型的形为

类与类形为不同对象与对象数据不同

类的语法:class 类名:

class che:

#数据成员

def __init__(self,name,chelun):#self是调用当前方法的对象地址

self.name=name

self.chelun=chelun

#形为成员

def chexing(self):

print(self.name+"开车")

#创建对象:实际在调用_init_方法

qiche=che("小桥车","更换")#self:参数自动将对象地址传入方法

#调用对象的形为

qiche.chexing()#self:参数自动将对象地址传入方法

print(qiche.name)#self:参数自动将对象地址传入方法

print(qiche.chelun)#self:参数自动将对象地址传入方法

1、创建类并调用(列表反置)

class listpx:

def __init__(self,lista):

self.lista=lista

self.imte=0

self.ymte=0

def paixu(self):

for self.imte in range(len(self.lista)):

for self.ymte in range(self.imte + 1, len(self.lista)):

self.lista[self.imte], self.lista[self.ymte] = self.lista[self.ymte], self.lista[self.imte]

print(self.lista)

list01=[2,3,1,5,4]

listb=listpx(list01)

listb.paixu()

list02=[23,54,78]

listc=listpx(list02)

listc.paixu()

#调用规则:先给类变量传值,再调用类方法。