类和对象
- 类
使用关键字class定义类
在类中能定义类成员变量和成员函数,类成员函数必须带self参数
self是对象本身的引用,在成员函数中能引用self获得对象的信息 - 构造函数
def __init__(self):
通过默认参数实现多种方式构造对象
def __init__(self, name="xxx", color="xxx", . . .): - 析构函数
def __del__(self):
用来释放资源,通过关键字del销毁对象 - 实例成员变量
类成员变量是类和所有对象共享的,要定义对象自己的成员变量则需要:
def __init__(self):
self.name = name - 静态函数(@staticmethod)和类函数(@classmethod)
支持基于类名访问成员的函数,类函数多了一个隐形参数cls来获取类信息
支持基于类名访问成员的函数 - 私有成员
以双下划线“__”开始的成员都是私有成员
def __init__(self):
self.__name = name
继承
子类继承父类:class subClass(BaseClass):
在子类成员变量中用super关键字能访问父类成员,引用方法位super(subClassName, self)
在子类中调用父类的析构函数是一种最佳实践,不这样做可能导致父类的资源不能如期被释放
python允许多继承:class subClass(Base1, Base2),当子类调用一个在几个父类中共有的成员函数时,python解释器会选择子类最近的一个基类的成员方法