Python | isinstance()、type()で変数が数値かどうか判定する方法

Python 判別・判定,Python

Python | isinstance()、type()で変数が数値かどうか判定する方法

Pythonのisinstance()関数、type()関数を使って変数の値が int または float の数値型かどうかを判定する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

isinstance()で値が数値型かどうかを判定する

Pythonのisinstance()関数で数値型かどうかを判定します。

第一引数には対象の値、変数を指定します。
第二引数に判定したい型を指定します。

返り値は型が一致した場合は true 一致しなかった場合は false となります。

x = 123
if isinstance(x, int):
	print('xはintです。')
elif isinstance(x, float):
	print('xはfloatです。')
else:
	print('xは数値型ではありません。')

isinstance()関数でint または floatかどうかまとめて調べる場合は括弧内にカンマ区切りで型を指定する事ができますので、OR演算子での複数記述は不要です。

x = 123
if isinstance(x, (int, float)):
	print('xはintまたはfloatです。')
else:
	print('xは数値型ではありません。')

type()で値が数値型かどうかを判定する

Pythonのtype()関数で数値型かどうかを判定します。

第一引数に対象の変数を指定します。
返り値に型の名前が返ってきますのでif文で一致するかどうかを判定します。

x = 123
if type(x) == int:
	print('xはintです。')
elif type(x) == float:
	print('xはfloatです。')
else:
	print('xは数値型ではありません。')

type()関数でint または float型かどうか一括で調べる場合は OR演算子を使って以下のように記述する事ができます。

x = 123
if type(x) == int or type(x) == float:
	print('xはintまたはfloatです。')
else:
	print('xは数値型ではありません。')