上次课内容回顾
• 类和对象的概念
• 类的定义
– 类的属性(成员变量)
– 类的方法(函数)
版权所有:中山大学材料科学与工程学院
版权所有:中山大学材料科学与工程学院
类的定义与类对象创建
• 语句形式
class 类名
[类变量名=初始值]
[def 类方法名(self,参数):
方法体 ]
• 类是抽象的,要使用类定义的功能,就必须实
例化类,即创建类的对象
• 创建对象后,可以使用“.”运算符来调用其
成员或方法
注意缩进!
参考阅读:教材9.2节
版权所有:中山大学材料科学与工程学院
版权所有:中山大学材料科学与工程学院
类的属性的定义: 实例属性
• 属性是类的数据成员在类中定义的成员变量
• 实例属性
– 通过“self.变量名”定义的属性
– self.实例变量名 = 初始值
– self代表实例本身
• 创建对象实例后,可通过对象实例访问
obj1 = 类名 #创建对象实例
obj1.实例变量名 = 值 # 写入
obj1.实例变量名 # 读取
参考阅读:教材9.3.1节
版权所有:中山大学材料科学与工程学院
版权所有:中山大学材料科学与工程学院
实例方法
• 类方法的定义与普通函数一致
• 一般情况下,类方法的第一个参数为self,代表实例
本身
• 定义实例方法
def 方法名(self, [形参列表]):
函数体
• 调用实例方法
对象.方法名([实参列表])
• 注意,虽然类方法的第一个参数为self,但调用时,
用户不需要也不能给该参数传值,Python会自动把
对象实例传递给该参数
参考阅读:教材9.4.1节
版权所有:中山大学材料科学与工程学院
版权所有:中山大学材料科学与工程学院
对象的特殊方法
• Python包含许多以双下划线开始和结束的方法,
称之为特殊方法
• 例如,创建对象实例时自动调用其__init__方法,
a<b时,自动调用对象a的__lt__方法
特殊方法 含义
__lt__, __add__等 对应运算符<, +等
__init__, __del__ 创建或销毁对象时运用
__len__ 对应于内置函数len()
__setitem__, __getitem__ 按索引赋值、取值
__str__(self) 对应于内置函数str()
__bool__(self) 对应于内置函数bool()
参考阅读:教材9.6.2节
版权所有:中山大学材料科学与工程学院
版权所有:中山大学材料科学与工程学院