クラスSuitと、スーツの4つのサブクラス、Heart、Spade、Diamond、Clubがあるとします。
class Suit:
...
class Heart(Suit):
...
class Spade(Suit):
...
class Diamond(Suit):
...
class Club(Suit):
...
インスタンスとしてではなく、クラスオブジェクトであるスーツをパラメーターとして受け取るメソッドがあります。より正確には、ハート、スペード、ダイアモンド、クラブの4つの値の1つのみを受け取ることができます。このようなことを保証するアサーションを作成するにはどうすればよいですか?何かのようなもの:
def my_method(suit):
assert(suit subclass of Suit)
...
私はPython 3を使用しています。
_class
、それらをのようにすることが合理的である可能性があることsuit_class
。私は関連する質問でそのような命名規則を提案しました。
my_method(Heart)
my_method(Spade)
ます...
my_method
パラメータとして取得できる4つの値は何であるかを正確に述べました。「ハート、スペード、ダイアモンド、クラブの4つの値のうちの1つだけを受け取る可能性があります」。これらの値はクラスオブジェクトであり、クラスインスタンスではありません。答えは両方の可能性をカバーしているので、曖昧さについてはあなたが正しいと思いますが、それは私にはかなり明白に思えます。より明確な語彙があれば、質問を編集することは大歓迎です。コメントをありがとう。