假设我有一套职业套装和四个子类套装:心形、黑桃、钻石、梅花.

class Suit:
   ...
class Heart(Suit):
   ...
class Spade(Suit):
   ...
class Diamond(Suit):
   ...
class Club(Suit):
   ...

我有一个方法,它接收一个suit作为参数,它是一个类对象,而不是一个实例.更准确地说,它可能只接受四种价值观中的一种:心、黑桃、钻石、梅花.我怎样才能做出保证这种事情的断言呢?比如:

def my_method(suit):
   assert(suit subclass of Suit)
   ...

我正在使用Python 3.

推荐答案

你可以用issubclass()这样的assert issubclass(suit, Suit).

Python相关问答推荐

Matplotlib轮廓线值似乎不对劲

Python panda拆分列保持连续多行

如何让 turtle 通过点击和拖动来绘制?

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

acme错误-Veritas错误:模块收件箱没有属性linear_util'

Odoo 14 hr. emergency.public内的二进制字段

沿着数组中的轴计算真实条目

将数据框架与导入的Excel文件一起使用

Python键入协议默认值

在Python中动态计算范围

在Python argparse包中添加formatter_class MetavarTypeHelpFormatter时, - help不再工作""""

部分视图的DataFrame

在含噪声的3D点网格中识别4连通点模式

实现神经网络代码时的TypeError

名为__main__. py的Python模块在导入时不运行'

无论输入分辨率如何,稳定扩散管道始终输出512 * 512张图像

未调用自定义JSON编码器

替换现有列名中的字符,而不创建新列

从嵌套极轴列的列表中删除元素

如何在Python中解析特定的文本,这些文本包含了同一行中的所有内容,