假设我有一个西服套装和四个西服套装子类别: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)。
issubclass()
assert issubclass(suit, Suit)