首先什么是类?
类是一组变量和函数的封装体,
它描述了目标对象所拥有的属性和方法(即变量与函数).
注: 类里面的变量也称为类属性, 类里面的函数也称为类方法.
那创造这样的封装体有什么作用呢?
答: 那便是实例化了.
那什么是实例化?
请看下图:
从编程的角度来讲, 左侧的汽车设计图纸就是类, 里面包括了用来描述颜色, 尺寸, 累计公里数等属性的变量, 还包括了前行, 刹车, 后退等功能的函数.
而右侧的量产车就是此类的实例, 每个实例都拥有相同的类属性和类方法, 但各自的属性值是独立的, 比如不同的汽车实例的累计公里数的值是不一样的.
以上就是类与实例的概念.
下面是类与实例在Python中的语法
class 汽车:
颜色 = '白色'
行驶方向 = 0 # -1为倒行, 0为无, 1为前行
百公里油耗 = 0
累计公里数 = 0
累计油耗 = 0
def __init__(self):
print('-- 构造函数 --')
self.百公里油耗 = 10
def 前行(self, 公里数):
print('前行')
self.行驶方向 = 1
self.累计公里数 = self.累计公里数 + 公里数
self.累计油耗 = self.累计公里数 / self.百公里油耗
def 刹车(self):
print('刹车')
self.行驶方向 = 0
def 后退(self, 公里数):
print('后退')
self.行驶方向 = -1
self.累计公里数 = self.累计公里数 + 公里数
self.累计油耗 = self.累计公里数 / self.百公里油耗
粤A12345 = 汽车()
粤A12345.前行(100)
print(粤A12345.累计公里数, 粤A12345.累计油耗)
沪A56789 = 汽车()
沪A56789.后退(10)
沪A56789.刹车()
print(沪A56789.累计公里数, 沪A56789.累计油耗)
class 是Python的关键字, 表明接下来将新建一个类.
紧接着的 汽车 是新建类的名字, 然后以冒号结尾.
下面的第2至23行是这个新建类的类体, 即: 它的变量与函数的实现部分.
其中第8行有个特别命名的函数__init__, 其称为: 构造函数, 它是Python在创建实例变量后自动调用的函数, 一般用做初始化实例的属性值.
第25行便是创建实例变量的语法: 先使用 类名 + 括号 的语法创建一个实例, 再赋值给一个变量, 即为实例变量(粤A12345).
实例变量可以通过 英文句号 来访问其属性和方法.
其中请注意, 所有类方法的 第1个 参数都是 self , 这个参数是由Python自动填充的, 代表调用此方法的实例变量.
最后的一段代码通过 类名 + 括号 的语法又创建了另外一个实例变量: 沪A56789,
它跟粤A12345是同属于汽车这个类, 但其属性值是不同的, 你可以在print里看到它们值的区别.