次のことをコンパクトに実行するにはどうすればよいですか?
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()
すでにこの機能はすぐに使用できます。
もしクラス情報クラスオブジェクトでも型オブジェクトでもない、クラスまたは型オブジェクトのタプルである場合もあれば、他の同様のタプルを再帰的に含める場合もあります (他のシーケンス型は受け入れられません)。
強調は私によるものです。再帰的な性質に注意してください。(classinfo1, (classinfo2, classinfo3))
これも有効なオプションです。