[解決済み】あるクラスが他のクラスのサブクラスであるかどうかを(実行時に)確認するにはどうすればよいですか?
2022-04-04 11:14:37
質問
例えば、Suitというクラスと、そのサブクラスが4つあるとします。ハート、スペード、ダイヤ、クラブです。
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を使用しています。
どのように解決するのですか?
を使用することができます。
issubclass()
このように
assert issubclass(suit, Suit)
.
関連
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] スクリプトを実行しているPythonのバージョンを確認するにはどうしたらいいですか?
-
[解決済み] NaN値をチェックするにはどうすればよいですか?
-
[解決済み] 変数が存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] クラスをJSONシリアライザブルにする方法
-
[解決済み] Pythonでファイルサイズを確認するには?
-
[解決済み] Pythonモジュールのバージョンを確認する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】変数がクラスであるかどうかを確認する方法は?
-
[解決済み] 何かを「試して」例外をキャッチするか、例外を回避することが可能かどうかを最初にテストする方が良いですか?