python -abc模块

本文总结了Python的ABC模块,包括abc.ABC、abc.ABCMeta和抽象方法的使用。通过继承ABC,可以定义抽象类并强制子类实现特定方法。@abstractmethod装饰器用于声明抽象方法,而@abstractproperty则用于抽象属性。不实现这些抽象成员的子类在实例化时会抛出错误。
摘要由CSDN通过智能技术生成

python -abc模块学习总结

python 没有提供抽象类与抽象方法。ABC(Abstract Base Class)模块提供了在Python中定义抽象类的方法。

abc模块有以下两个主要功能:

某种情况下,判定某个对象的类型,如:
isinstance(a, MyABC), issubclass(a, MyABC)

强制子类必须实现某些方法,即ABC类的派生类

abc.ABC

辅助类 ,可以不用关心元类的概念,直接继承就有了ABCMeta元类,使用时注意元类冲突。

abc.ABCMeta

该类用来定义抽象类的元类。使用该元类来定义一个抽象类。

定义一个抽象基类的方法是将一个类的元类设置为abc.ABCMeta。

具体化抽象基类的两种方式:

1、通过抽象基类 ABCMeta 的 register 方法注册。

from abc import ABCMeta,abstractmethod

class MyABC(metaclass=ABCMeta):
    @abstractmethod
    def amtest(self):
        """abstractf method"""
        
class RegisterImpl:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值