假设我有一个西服套装和四个西服套装子类别:Heart,Spade,Diamond和Club。

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

我有一个方法,该方法接收西装作为参数,这是一个类对象,而不是实例。更准确地说,它可能仅接收以下四个值之一:Heart,Spade,Diamond,Club。我该如何做出保证这种事情的断言?就像是:
def my_method(suit):
   assert(suit subclass of Suit)
   ...

我正在使用Python 3。

最佳答案

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

10-08 19:55