1. ホーム
  2. python

[解決済み] Python check if isinstance any type in list?

2022-09-10 19:59:03

質問

どのようにすればいいのでしょうか?

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

classinfoのリストを渡すことができないのは馬鹿げているようです。

var_is_good = isinstanceofany( var, [classinfo1, classinfo2, ... , classinfoN] )

では、その isinstanceofany の関数は何でしょうか?

どのように解決するのですか?

isinstance() タプル を取ります。のインスタンスであれば真を返します。 のインスタンスであれば真を返します。 のインスタンスであれば真を返します。

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

言い換えると isinstance() もう はこの機能を提供します。

から isinstance() ドキュメント :

もし classinfo がクラスオブジェクトでもタイプオブジェクトでもない場合。 クラスオブジェクトやタイプオブジェクトのタプルであったり、再帰的に他のそのようなタプルを含むかもしれません(他のシーケンスタイプは受け入れられません)。

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