鸭子类型与多态
- 鸭子类型:弱数据类型。在调用时才能明确变量类型。
(列表元素——变量名——类实例)
- 多态,两个前提:
1)继承
2)方法重写
【统一方法名称在不同类中实现的功能不同?】
抽象基类(abstract base class,abc)
(1)父类中需要继承abc.ABCMeta类,注意继承的写法metaclass=abc.ABCMeta;
(2)父类中在需要重写的方法中加上装饰器@abc.abstractmethod;
(3)子类中必须对所有加了装饰器@abc.abstractmethod的方法重写,否则无法实例化;
(4)Sized抽象基类 (不大懂)
继承后需要重写__len__()方法;
Python中多重继承问题
- __mro__()
super() 继承方法
python对象自省机制
- isinstance()
- hasattr()
- dir()
- type()