内容正文:
2.2 链表
链表类
水果类
类是现实世界或思维世界中的实体在计算机中的反映,用来描述具有相同的属性和方法的对象的集合,它定义了每个对象所共有的属性和方法。
在 Python 中,对象用类创建。类被称为类对象,类的实例被称为类的对象。创建一个新类意味着创建一个新类型的对象,从而允许创建一个该类型的对象实例。每个类的实例可以拥有保存自己状态的属性和改变自己状态的、定义在类中的方法。
类和实例
举例:新建一个类对象“蔬菜”,里面可以有“白菜”、“青菜”、
“西红柿”这些对象。
类的定义
Python 使用 class 关键字来定义类,其语法格式如下:
类是抽象的,要使用类定义的功能,就必须进行类的实例化,即创建类的对象,其语法格式为:对象名=类名(参数列表)。
类中的属性
①类的数据成员是在类中定义的成员变量,用来存储描述类的状态特征的值,也称为属性。属性可以被该类中定义的方法访问,也可以通过类的对象进行访问。
②通过“self.变量名”定义的属性,称为类的对象属性,属于类实例化的特定对象。对象属性在类的内部通过“self.变量名”访问,在外部通过“对象名 .变量名”来访问。
③类属性属于整个类,是在类中所有方法之外定义的变量,所有实例之间共享一个副本。类属性在类的内部通过“类名 .类属性名”或“self.类属性名”访问,在外部可以通过类对象和实例对象访问公有的类属性,但不能访问私有的类属性。
类的对象方法
①类的对象方法对类的某个实例化对象进行操作,一般以 self 作为其第一个形式参数(也可以使用其他名字)。声明对象方法的语法格式如下:
方法的调用格式为 :对象名.方法名([实 参 列表])。
②注意:虽然对象方法的第一个参数是 self,但是在调用时,用户不需要也不能给该参数传递值,Python会自动地把对象传递给 self参数。
(拓展选学)链表类
在python中没有指针,不能直接进行链表操作,但是python面向对象编程
可以定义一个链表类来进行链表操作。在类中设定链表和节点的属性、方法,
在后续的程序中可以直接运用。
(1)单向链表的类定义
通常使用两个类来协调表示单向链表,即单向链表的节点类(LinkNode)和单向链表类(LinkList)。先定义单向链表的节点类,代码如下:
#定义节点类LinkNode
#初始化节点包含两个区域
self.