继承是面向对象编程的一个重要方式,通过继承,子类可以扩展父类的功能,Python也具有该特性,除此之外,Python还可以使用多重继承。

语法:

class subClass(Base1Base2)

该语法的含义是创建了一个subClass类,让它同时继承了Base1Base2的相关特性,关于继承还有以下规则需要遵循:

1. 继承只会继承父类的方法,不能继承父类的变量;

2. 要想继承父类的变量,需要执行父类的__init__(self)方法;

3. 下划线开头的变量或方法,会被认为是受保护的,不能直接点出来,但如果强制打出来的话也一样能用,只是会有警告;

4. 静态方法中不能使用self,用@staticmethod声明这是一个静态方法。

实例:

class A(object):
    def __init__(self):
        print('A')
        super(A, self).__init__()
class B(object):
    def __init__(self):
        print('B')
        super(B, self).__init__()
class C(A,B):
    def __init__(self):
        print('C')
        super(C, self).__init__()

以上实例是子类C多重继承了AB的特性,是多重继承最基本的用法,除此之外,还有很多用法,多重继承的使用是需要注意的,使用不当,它带来的麻烦可能比解决的问题还多,因此,除非现有代码无法实现想要的功能,建议不考虑使用多重继承!