您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

确定Python类是Abstract基类还是Concrete类

确定Python类是Abstract基类还是Concrete类

import inspect
print(inspect.isabstract(object))                  # False
print(inspect.isabstract(MessageDisplay))          # True
print(inspect.isabstract(FriendlyMessageDisplay))  # True
print(inspect.isabstract(FriendlyMessagePrinter))  # False

这将检查TPFLAGS_IS_ABSTRACT是否在类对象中设置了内部标志,因此不能像实现那样容易地对其进行欺骗:

class Fake:
    __abstractmethods__ = 'bluh'

print(is_abstract(Fake), inspect.isabstract(Fake)) # True, False
python 2022/1/1 18:33:00 有205人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶