如何正确运用abc模块的功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计422个文字,预计阅读时间需要2分钟。
首先需要了解的是,需要一个基类(父类)。例如,abc.ABCMeta。这是一个用于实现抽象类的基础类,包括抽象方法和方法的用法。在相对的方法之前,一行加上@abstractmethod。然后,从新的一行开始定义相应的方法。实现示例:pythonclass ABCMeta: @abstractmethod def some_method(self): pass
首先需要了解的是一个基类(父类),abc.ABCMeta。这个是用于实现抽象类的一个基础类
抽象方法的使用,在相应的方法之前一行加上@abstractmethod之后,从新的一行开始定义相应的方法。实现的方法就是一个抽象方法。子类继承之后,如果需要用到的这个方法则必须用新的方法将其实现。
示例代码
from abc import *
class SClass(metaclass=abc.ABCMeta):
@abstractmethod
def my_print(self):
pass
class CClass(SClass):
pass
cc = CClass() #会报错,原因是如果想要能够正确进行实例化就需要对相应的抽象接口进行实现。
本文共计422个文字,预计阅读时间需要2分钟。
首先需要了解的是,需要一个基类(父类)。例如,abc.ABCMeta。这是一个用于实现抽象类的基础类,包括抽象方法和方法的用法。在相对的方法之前,一行加上@abstractmethod。然后,从新的一行开始定义相应的方法。实现示例:pythonclass ABCMeta: @abstractmethod def some_method(self): pass
首先需要了解的是一个基类(父类),abc.ABCMeta。这个是用于实现抽象类的一个基础类
抽象方法的使用,在相应的方法之前一行加上@abstractmethod之后,从新的一行开始定义相应的方法。实现的方法就是一个抽象方法。子类继承之后,如果需要用到的这个方法则必须用新的方法将其实现。
示例代码
from abc import *
class SClass(metaclass=abc.ABCMeta):
@abstractmethod
def my_print(self):
pass
class CClass(SClass):
pass
cc = CClass() #会报错,原因是如果想要能够正确进行实例化就需要对相应的抽象接口进行实现。

