python编程是面向对象的,其中有两个重要概念,一个是类(也就是所说的模块),一个是实例(基于类构造的实例)。两者属于隶属的关系,类是抽象出来的概念,描述的是一些共有的特性,而实例是基于类构造的一个具体的实例。例如,学生--就是一个类,而学生A则是一个具体的实例。
在面向对象的编程中,有3个重要的特征:
1) 封装,顾名思义就是将内容封装到某个地方,以后就可以调用封装在某处的内容
2) 继承,和我们通俗的理解基本相同,表示子类继承父类的属性/方法
3) 多态,多种形式(还没有深刻领会其含义,以后再写)
今天就总结如何构建类 class 和基于类构建实例 object, 主要还是以讲例子的形式阐述。类class的一个简单的例子如下:
需要说明的有:在class例子中,创建了两个方法,与函数相同,不过第一个变量self比较特殊, 在实例化时,self实际上指的是构建的对象,在下面的例子中,self就是student1.此外,_init__方法比较特殊,在创建实例时,会自动进行调用。
2. 对与类中方法和属性的调用,例子如下:
在此需要说明的时,如果属性是以__双下划线开始的,则该属性则定义为私有变量(private),外部是不可以访问的. 给个例子:
此外,我们也可以对于类中的属性进行改写,给个例子:
3. 类的单继承
下面给出了一个单继承的例子。
其中有几点需要说明的是
1)Student._init__是调用父类的构函
2)在继承父类的时候,我们可以对子类进行扩展,新增一些函数/方法
3)在继承父类的时候,我们也可以对父类中的方法进行覆写
4. 类的多继承
下面也通过一个例子来说明:
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。