動作検証バージョン:Windows 11 Home + Python 3.10.6
「python 整数 判定」
といった検索でこのサイト『インストラクターのネタ帳』へアクセスがありました。
Pythonで、何らかのデータが整数かどうかを判定するには、どのようなコードを書けばいいのかを調べていらしたのでしょう。
[スポンサードリンク]
データがint型かを判定するサンプル
ここで「整数」と表現されているのがどのようなデータかが不明ですが、まず押させえておきたいのはisinstance関数です。
var = 123
if isinstance(var, int):
print('整数です!')
else:
print('整数ではありません')
if isinstance(var, int):
print('整数です!')
else:
print('整数ではありません')
上記のコードを実行すると、「整数です!」と出力されます。
var = 123
の部分を
var = 'ABC'
に変更してから実行すると、「整数ではありません」と出力されます。
isinstance関数の挙動
isinstance関数は、第1引数に指定したデータが、第2引数に指定したデータ型であるかどうかを判定する関数です。
第2引数に「int」を指定することで、第1引数のデータがint型かどうかを判定できます。
16進数でも2進数でもTrue
以下のいずれのコードでもTrueが返されます。
isinstance(0xff, int)
isinstance(0b11111111, int)
16進数「0xff」も、2進数「0b11111111」も、整数の「255」ですから、Trueが返されます。
TrueやFalseでもTrue
以下のコードでも戻り値はいずれもTrueです。
isinstance(True, int)
isinstance(False, int)
Pythonのbool型はint型の派生型だからです。
小数点以下が0の場合はFalse
isinstance関数は、あるデータ型であるかとうかを判定する関数ですから、以下のコードはFalseとなります。
isinstance(123.0, int)
数値「123.0」は、int型ではなくfloat型であるためです。
最終更新日時:2023-11-14 15:39
[スポンサードリンク]