一、类和对象
在Python,“类”与“对象”的概念十分重要。
作为面向对象的编程语言,Python中一切皆对象(object),例如字符串、元祖、列表等都是对象。而类(class)则是描述具有相同属性(Arrtibute)和方法(MethoD)的对象的集合。
简单来讲:
对象指的一切具体的事物,如一个学生可以是一个对象;
类指的是有相同特征的一群事物,如学生群体;(类同时也是一个对象)
相同特征包括对象是怎样的?对象是做什么的?如学生群体都有姓名、考号这两个相同属性,学生群体都参加考试这一个行为。
再简单一些:
对象=属性+方法
类=
具有相同属性和方法的对象
二、继承关系和实例关系
对象体系中有两种关系:继承体系和实例关系。
1、继承关系
继承关系好比父子关系,子类继承于父类,并拥有自身及父类的方法和属性,同名的子类方法和属性将覆盖父类的方法和属性。
如「蛇」类继承自「爬行动物类」,所以「蛇是一种爬行动物」,英文说「snake is a kind of reptile」。
2、实例关系
实例关系则是一个抽象到具体的过程,实例是某个类中具体的个体的表示。
如「小白是一条蛇」,「蛇」是一个分类,「小白」则是这个分类中的一个具体的个体。英文说「小p is an instance of snake」。
三、type和object
object 和 type的关系很像鸡和蛋的关系,先有object还是先有type很难说清楚,但可以肯定的是obejct和type是共生的关系,必须同时出现的。
在这里:type--实例化-->object--形成-->class A--实例-->a
1、type是实例关系的顶端,所有对象都是它实例出来的,所有类对象的类型都是type;type也是由自己实例化而来的,type的类型也是type。
2、object是继承关系的顶端,所有数据类型的最顶层父类都是它,object无父类。
3、type的父类是object,object的类型是type。
下面简单看几个例子: