Python基础之对象、面向对象编程_python面向对象程序

liftword3个月前 (02-17)技术文章34

本系列内容所用Python版本为anaconda,直接浏览器搜索下载安装即可!



前面内容我有多次提到过对象这个概念,今天我想专门出一期内容,浅谈一下Python的对象这一基础概念,并谈谈我对面向对象编程这一编程思想的理解,希望对后续内容的学习能起到一点帮助。

一、Python对象

简单来说对象就是具体的实例。像字符串'lcm',当他被创建的时候,他就是一个字符串对象,是实际存在的,并不是抽象的

那么对象是怎么来的

首先要搞明白用于描述对象特征的数据信息称为该对象的属性,而存取属性的函数叫做方法,是该对象与外界沟通的接口,具有相同属性和方法的对象构成类,换言之类是对象抽象化而形成的概念,而对象则是类的具体实例,例如股票对象贵州茅台就是股票这个类的具体实例,面向对象编程有三大特征:封装、继承、多态

1.创建对象

搞清楚了对象是类的实例后,就明白想要创建对象先要有类,创建类的代码形式同函数一样,由class关键字打头,随后是类的名称以及继承类的名称,并以冒号(:)结尾,以下是类的一般创建形式

有了类之后就可以创建具体的实例对象了

Python可以动态绑定实例对象的属性

以上案例演示了源自同一类的不同实例,藉由动态绑定的方法拥有不同属性,虽然方便,但有悖于把类视为实体的模板之惯例,若我们希望创建自同一个类的实例拥有一些共同特征,可以藉由定义一个特殊的__init__方法,来绑定一些在创建实例时必不可少的属性。

2.封装

若要打印出具体对像的某个属性,可以创建一个打印函数

以下是示例

但是price属于asset4这个对象的内部属性,从软件设计的角度考量,有些属性可能带有重要信息,像上例轻松从外部函数直接访问内部属性,并不好,比较理想的方法是把属性和访问属性的方法放在同一个对象当中

在类中定义的方法可以用“实例.方法”的方式直接调用

把方法写在对象内部仍然无法阻止对象属性被轻易获取,因为“对象.属性名”依然可以打印出对象的属性,为了对对象的属性提供更加安全的保障,我们在创建对象实例时,在对象属性名字前面加上两个下划线,以表示这个属性为private(私有的)属性,这样通过“对象.属性名”就无法访问,只能通过内部方法访问

相较于直接从外部访问对象的属性,这种把访问方法封装在对象的内部的好处是,它可以赋予方法一些规范,例如如果想要修改对象的属性,可以直接把修改方法写在对象内部

3.继承

继承的思想是在已有的类的基础上,尽可能的多重复去利用它。原有的类称为父类,根据父类衍生出来的类称为子类,一个父类可以衍生出无数个子类,换言之父类是由所有子类抽象而来的,子类一旦继承父类便拥有了父类的属性和方法,并可以视情况增添修改

下面我们创建新的类,他继承自上面的Asset

4.多态

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性

二、面向对象编程

面向对象编程是相对于面向过程编程而言的,我的理解是,Python面向对象编程是通过不同的方法作用于不同的对象,通过对对象的一系列操作实现目的编程思想

好了,就到这里。今天的内容简单向大家介绍了一下Python的对象概念,以及面向对象编程的编程思想,非常浅显,但我相信有个基本的了解,对以后的学习肯定是有帮助的。

END

相关文章

Python 对象有哪几种,我们可以从哪些角度进行分类呢?

楔子在程序开发中,我们每时每刻都在创建对象,那到底什么是对象呢?其实一个对象就是一片被分配的内存空间,空间可以是连续的,也可以是不连续的。然后空间里面存储了指定的数据,并提供了操作数据的一些功能方法。...

python初识对象_python对象编程

使用对象组织数据1.在程序中设计表格,我们称之为:设计类(class)class Student: name = None # 记录学生姓名2.在程序中打印表格,我们称之为:创建对...

Python 如何创建一个 JSON 对象_python创建一个person类

我们可以使用下面的代码来在 Python 中创建一个 JSON 对象。import json data = {} data['key'] = 'value' json_data = json.dum...

详细介绍一下Python中的类与对象_python对象和类的关系

类和对象是面向对象编程的两个核心概念,而Python作为一门支持面向对象的编程语言,也是需要通过类和对象来实现代码的组织和封装的,下面我们就来详细介绍一下Python中的类与对象,来帮助大家一起了解它...

python类与对象_python类和对象的区别

在介绍python类与对象之前,首先需要了解面向过程编程和面向对象编程两种程序设计方法。面向过程编程OPP(Procedure Oriented Programming),是一种以事物为中心的编程思想...

类属性,类方法:简易的Python面向对象教程

来源:麦叔编程作者:麦叔实例属性和类属性在下面的例子中,Dog类的属性,比如height(身高),是属于一条具体的狗,如大黄,二黑等。他们各自有各自的height。这种属性我们成为实例属性,实例属性通...