python 类
1、 什么是类?
学过数学的都知道集合这个概念,什么是集合呢?集合是指具有某种特定性质的具体的或抽象的对象汇总而成的集体。其中,构成集合的这些对象则称为该集合的元素。Python中的类就扮演了类似集合的角色,通过类我们可以创建若干有相同属性的和方法的对象。换句话说就是:类,一群有着相同属性和函数的对象的集合。提到类就不得不说一下面向对象编程,因为类就是面向对象编程四要素中的一个,四要素如下: 类,实例(对象),属性,方法(函数)
2、 创建类
在python通过关键字class 进行声明和创建一个类,在创建类的时候可以直接定义好属性和方法:
从图中看出,在创建一个实例对象的时候会自动调用__init__方法,可能有人会问示例对象是不是通过这个方法创建的呢?其实不是,__init__方法是一个初始化方法,初始化实例对象的各种属性。
3、 属性
对于一个类,属性分为两种:实例属性和类属性。顾名思义,类属性是类的属性,对于每个新创建的实例对象值都是相同的,当然每个实例对象都可以修改自己的这个属性值,但是并会对类造成影响,但是类修改这个属性后会对创建的实例对象造成影响,实例对象的属性可以在创建对象时候的赋予,也可以创建对象后在修改,我们还可以通过方法去给实例对象增加属性。
4、 方法
类中的方法分为类方法、实例方法、静态方方法。顾名思义类方法和实力方法分别是共类和实例使用。
如图所示实例对象和类也可以互相调用对方的方法,但是通常不会这么去做,不然这个方法的划分就没有任何意义了。
下面展示一下静态方法的使用,如下图,静态方法就不会区分类和对象了。
5、self和cls
看到这里你可能会发现在除了静态方法,对象方法都有一个self参数,类方法有一个cls参数,这些代表着什么呢?从图中看出,使用类调用属性方法需要传入一个实例对象,这个你应该发现问题了吧,函数中的self代表调用这个实例方法的实例本身,同样的,类方法中的cls就代表了调用这个类方法的类本身。
类的介绍就先到此为止,下次我们在介绍类的继承和单例等。