与jvm上的语言不一样,python的语言没有interface关键字,而且除了抽象基类,每个类都有相应的接口:类实现或继承的公开属性(方法或数据类型)
在定义里,受保护的属性和私有属性不在接口中:即便...“鸭子类型”:忽略对象的真正类型,转而关注对象有没有实现所需的方法,签名和语义。
继承抽象基类很简单,只要实现python里的特殊方法__len__之类的,这样python就会自动识别。...抽象基类的继承大多都是在collections模块,现在打开这个模块的文档看看。...isub__
Mapping Sized,Iterable,Container __getitem__,__iter__,__len__ __contains__,keys,items,values,get...,一共有16个基类,分为三层:
--顶层是Iterable,Container,Sized,Callable,Hashable:
其中Iterable,Container,Sized是各个集合该继承的三个抽象基类