小编典典

我如何(在运行时)检查一个类是否是另一个类的子类?

all

假设我有一个花色类别和四个花色子类别:红心、黑桃、钻石、梅花。

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

我有一个接收西装作为参数的方法,它是一个类对象,而不是一个实例。更准确地说,它可能只收到以下四个值之一:红心、黑桃、钻石、梅花。我怎样才能做出保证这样的事情的断言?就像是:

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

我正在使用 Python 3。


阅读 63

收藏
2022-05-30

共1个答案

小编典典

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

2022-05-30