记住一句话:类是模板,而实例则是根据类创建的对象。
我初学时对类的理解是从类的字面上,可以片面的认为它是一个种类,它是相似特征的抽像,也就是相似的东西,可以把相似特征的事务抽象成一个类。(事务可以是具体的物体或行为)
以圆为例,圆是具有圆周率(pi)和半径(r)两个相似特征的属性。根据相似特征抽象出圆类,每个圆的半径可以不同,那么半径可以作为圆的实例属性;而每个圆的圆周率pi是相同的,那么圆周率pi就可以作为类属性,这样就定义出了一个圆类。而我们要知道圆的面积,周长等可以通过类方法计算出来。
(看完整篇文章,还是对类不理解,回过头在来看这部分,对照列子多理解。)
一、Python类的定义与实例的创建
在Python中,类通过 class 关键字定义,类名通用习惯为首字母大写,Python3中类基本都会继承于object类,语法格式如下,我们创建一个Circle圆类:
class Circle(object): # 创建Circle类,Circle为类名
pass # 此处可添加属性和方法
注意:我们定义的类都会继承于object类,当然也可以不继承object类;两者区别不大,但没有继承于object类使用多继承时可能会出现问题。
有了Circle类的定义,就可以创建出具体的circle1、circle2等实例,circle1和circle2是个实际的圆。创建实例使用 类名+(),类似函数调用的形式创建。
如下我们创建两个Circle类的实例:
circle1= Circle()
circle2= Circle()
二、Python类中的实例属性与类属性
类的属性是用来表明这个类是什么的。类对象的属性有实例属性与类属性两种。
实例属性可以用于区分每个实例;
类属性是每个实例的共有属性。
实例属性每个实例各自拥有,互相独立;而类属性有且只有一份,是共有属性。
1、实例属性
类的属性是来指明这个类是什么的,是用来区分每个实例不同的基础。
在上面我们创建了Circle类,大家都知道所有圆都具备半径这个通用属性,下面我们为circle1、circle2圆实例添加半径r这