\

Pythonでは、isinstance()関数を使用して変数が数値型であるかどうかを確認できます。この関数は、オブジェクトが指定したデータ型またはそのサブクラスのオブジェクトであるかどうかを判断します。

Python 2では、数値型としてintlongfloatcomplexの4つがあります。Python 3ではlongが廃止され、intfloatcomplexの3つとなります。

以下に、isinstance()関数を使用した数値型の判定方法を示します。

# Python 2
import types
var = 1
NumberTypes = (types.IntType, types.LongType, types.FloatType, types.ComplexType)
print(isinstance(var, NumberTypes))  # True

# Python 3
NumberTypes = (int, float, complex)
print(isinstance(var, NumberTypes))  # True

また、Python 2.6以降では、numbersモジュールのNumber抽象基底型を使用して、上記の型から直接派生しないカスタム数値型もサポートできます。

import numbers
print(isinstance(var, numbers.Number))  # True

このチェックは、decimal.Decimal()fractions.Fraction()オブジェクトに対してもTrueを返します。

以上が、Pythonのisinstance()関数を使用した数値型の判定方法になります。これを活用することで、変数のデータ型を効率的に判断することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です