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