版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
一. Python 的类和实例
在面向对象中,最重要的概念就是类(class)和实例(instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的 “对象”。
就好比,学生是个较为抽象的概念,同时拥有很多属性,可以用一个 Student 类来描述,类中可定义学生的分数、身高等属性,但是没有具体的数值。而实例是类创建的一个个具体的对象, 每一个对象都从类中继承有相同的方法,但是属性值可能不同,如创建一个实例叫hansry的学生,其分数为93,身高为176,则这个实例拥有具体的数值。
1.类:以Student类为例,在Python中,定义类如下:
classStudent(object):def__init__(self,name,score):self.name=nameself.score=score
a.(object)表示的是该类从哪个类继承下来的,而object类是每个类都会继承的一个类。 yt
b.__init__方法的第一参数永远是self,用来表示类创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self本身就是指向创建的实例本身。
c.有了__init__方法后,在创建实例的时候,就不能传入空参数,必须传入与__init__方法匹配的参数,但self本身不需要传入参数,只需要传入self后面的参数即可。
2.实例:定义好了类后,就可以通过Student类创建出 Student 的实例,创建实例是通过 类名 + ()实现:
student = Student('name',93) >>>student.name "name">>>student.score 93
a.其中 Student 是类名称,(’name’,93)为要传入的参数
b.self.name 就是 Student类的属性变量,为Student 类所有。同时, name 是外部传来的参数,不是 Student 类所自带的。故self.name = name 的意思就是把外部传来的参数 name 的值赋值给 Student类自己的属性变量 self.name .