【Python 第46课】面向对象(1)


我们之前已经写了不少小程序,都是按照功能需求的顺序来设计程序。这种被称为“面向过程”的编程。

 

还有一种程序设计的方法,把数据和对数据的操作用一种叫做“对象”的东西包裹起来。这种被成为“面向对象”的编程。这种方法更适合较大型的程序开发。

 

面向对象编程最主要的两个概念就是:类(class)和对象(object)

 

类是一种抽象的类型,而对象是这种类型的实例。

 

举个现实的例子:

“笔”作为一个抽象的概念,可以被看成是一个类。而一支实实在在的笔,则是“笔”这种类型的对象。

 

一个类可以有属于它的函数,这种函数被称为类的“方法”。

一个类/对象可以有属于它的变量,这种变量被称作“域”。

域根据所属不同,又分别被称作“类变量”和“实例变量”。

 

继续笔的例子。一个笔有书写的功能,所以“书写”就是笔这个类的一种方法。

每支笔有自己的颜色,“颜色”就是某支笔的域,也是这支笔的实例变量。

 

而关于“类变量”,我们假设有一种限量版钢笔,我们为这种笔创建一种类。而这种笔的“产量”就可以看做这种笔的类变量。因为这个域不属于某一支笔,而是这种类型的笔的共有属性。

 

域和方法被合称为类的属性。

 

python是一种高度面向对象的语言,它其中的所有东西其实都是对象。所以我们之前也一直在使用着对象。看如下的例子:

s = 'how are you'
#s被赋值后就是一个字符串类型的对象
l = s.split()
#split是字符串的方法,这个方法返回一个list类型的对象
#l是一个list类型的对象

 

通过dir()方法可以查看一个类/变量的所有属性:

dir(s)
dir(list)

 

下节课,我们来自己创建一个类。

来源:Crossin的编程教室