"""
不要直接继承子类化内置类型，很麻烦，从collections中继承

在多重继承中通过查看mro属性，它按照方法解析顺序列出各个超类
调用超类的方法时，尽量使用super()；同时也可以直接调用

把接口继承和实现继承分开
    继承接口，创建子类型，实现‘是什么’的关系
    继承实现，通过重用避免代码重复
使用抽象基类显式表示接口
混入类绝对不能实例化，且在名称中明确指明混入
不要子类化多个具体类
优先使用对象组合，而不是类继承
"""
