Pythonでは、isinstance()
関数を使用して変数が特定の型であるかどうかをチェックできます。この関数は、第一引数が第二引数の型のインスタンスであるかどうかを判断します。
例えば、複数の変数がすべて整数型であるかどうかをチェックしたい場合、以下のように書くことができます。
if not all(isinstance(i, int) for i in [days, months, years]):
raise TypeError('days, months, and years must be int type')
このコードでは、all()
関数とジェネレータ式を使用して、days
、months
、years
の各変数がすべて整数型であるかどうかをチェックしています。すべての変数が整数型であれば、all()
関数はTrue
を返し、そうでなければFalse
を返します。したがって、もしもこれらの変数のいずれかが整数型でなければ、TypeError
が発生します。
また、isinstance()
関数は、第二引数にタプルを取ることもできます。この場合、第一引数がタプル内のいずれかの型のインスタンスであるかどうかを判断します。したがって、複数の型をチェックする場合には、以下のように書くことができます。
if isinstance(var, (classinfo1, classinfo2, classinfo3)):
# do something
このコードでは、var
がclassinfo1
、classinfo2
、classinfo3
のいずれかの型のインスタンスであるかどうかをチェックしています。
以上のように、Pythonのisinstance()
関数を使用すれば、複数の変数が特定の型であるかどうかを効率的にチェックすることができます。