Python は変数がリスト内の任意の型のインスタンスであるかどうかを確認します 質問する

Python は変数がリスト内の任意の型のインスタンスであるかどうかを確認します 質問する

次のことをコンパクトに実行するにはどうすればよいですか?

var = 7.0
var_is_good = (
    isinstance(var, classinfo1) or
    isinstance(var, classinfo2) or
    isinstance(var, classinfo3)
)

ベストアンサー1

isinstance()かかるタプル2番目の引数のクラスのインスタンス。最初の引数がどれでもそのシーケンス内のタイプ:

isinstance(var, (classinfo1, classinfo2, classinfo3))

言い換えると、isinstance() すでにこの機能はすぐに使用できます。

からisinstance()ドキュメンテーション:

もしクラス情報クラスオブジェクトでも型オブジェクトでもない、クラスまたは型オブジェクトのタプルである場合もあれば、他の同様のタプルを再帰的に含める場合もあります (他のシーケンス型は受け入れられません)。

強調は私によるものです。再帰的な性質に注意してください。(classinfo1, (classinfo2, classinfo3))これも有効なオプションです。

おすすめ記事