3.2.2 类的定义和实例

在定义类时,可以从一个父类中继承产生新类,也可以没有继承,创建一个全新的类。类的定义方法如下:

类定义中各项的意义如下:

  • class是关键字,表示开始定义类。
  • className是类的类名,起名规则可以参考变量的起名规则。
  • 括号“()”是可选的,如果没有父类,可以不写括号。
  • fatherClass是继承的父类,可以有0个、1个或多个父类,多个父类之间用逗号隔开。如果是全新的类,一般没有父类,也可以用类object作为父类。object类中定义了一些常用的方法。
  • 冒号“:”是必需的符号,说明后续内容是类的具体定义,后续内容需要缩进。
  • """类说明"""用于说明类的用途等信息,可以通过help(className)函数或“实例名.__doc__”显示出说明信息。
  • 类语句块用于定义类的属性,是可选的。
  • def __init__(self[,parameter1,parameter2,...,parameterN])是类实例化新对象时,新对象的初始化,是可选的。当用类新创建一个对象时,会自动执行__init__()函数下的初始语句块(__是两个下画线)。
  • self表示类的实例本身。在类中定义属于实例的属性和方法时,都需要加self,类中的函数定义时,第1个参数一般都是self。在往函数传递实参数据时,不需要给self传递数据。
  • deffunctionName(self[,para1,para2,...,paraN])定义类中的函数,类中可以定义多个函数(方法),实现类的不同功能。

定义完类后,可以用类来创建实例。用类创建实例的格式是:

     instanceName=className([parameter1,parameter2,...,parameterN])

其中instanceName是实例名称,取名规则可参考变量的取名规则;parameter1,parameter2,...,parameterN是实参,给类中的初始化函数__init__()传递数据,用于初始化实例的一些属性,可以用关键字形式传递数据。下面是用前面的汽车类定义汽车实例的例子: