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'>,)
查看继承的类

相关文章: