1,初识继承
什么是继承?
——继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类。
子类会“遗传”父类的属性,从而解决代码重用的问题。
python中的继承分为:单继承和多继承
class ParentClass1: # 定义父类 pass class ParentClass2: # 定义父类 pass class SubClass1(ParentClass1): # 单继承,基类是ParentClass1,派生类是SubClass pass class SubClass2(ParentClass1,ParentClass2): # python支持多继承,用逗号分隔开多个继承的类 pass
查看继承
>>> SubClass1.__bases__ #__base__只查看从左到右继承的第一个子类,__bases__则是查看所有继承的父类 (<class '__main__.ParentClass1'>,) >>> SubClass2.__bases__ (<class '__main__.ParentClass1'>, <class '__main__.ParentClass2'>)
经典类于新式类
1,只有在python2中才分新式类和经典类,python3中统一都是新式类 2,在python2中,没有显示的继承object类的类,以及该类的子类,都是经典类 3,在python2中,显示的声明继承object的类,以及该类的子类,都是新式类 4,在python3中,无论是否继承object,都是默认继承object,即python3中所有的类都是新式类
在python3中,如果没有指定基类,python的类会默认继承object类,object是所有python中类的基类,它提供了一些常见的方法(如__str__)的实现。用(__bases__)查看。
>>> ParentClass1.__bases__ (<class 'object'>,) >>> ParentClass2.__bases__ (<class 'object'>,)