abc
(abstract base classes)主要用来定义抽象类和接口
class abc.ABC
以ABCMeta
作为metaclass
的辅助类,可以直接继承实现抽象类,而不用指定metaclass
参数
from abc import ABC
class MyABC(ABC):
pass
上述代码等价于
from abc import ABCMeta
class MyABC(metaclass=ABCMeta):
pass
class abc.ABCMeta
定义抽象类的metaclass
@abc.abstractmethod
定义抽象方法,这个装饰方法需要类的metaclass
为ABCMeta
.
@abc.abstractproperty
abc.get_cache_token()
参考:
https://docs.python.org/3/library/abc.html#abc.ABCMeta