java中有一种方便的interface,而python要实现相关功能比较麻烦。
- 接口类这边,首先要引入一个abc库,然后在接口类名字后面写
(mateclass=abc.ABCMeta)
。对于抽象方法,还要在方法前一行加上@abc.abstractmethod
。但是很残念的事发生了,python3.6的__init_subclass__
功能(PEP 487)与abc
模块冲突了,3.6以上就不能使用ABCMeta
元类
import abc
class ISort(mateclass=abc.ABCMeta): # 3.6版本以后去掉()及其中内容
@abc.abstractmethod
def sort