Make組ブログ

Python、Webアプリや製品・サービス開発についてhirokikyが書きます。

Python で値が整数が小数か判定する

Python で、入力された値が整数か小数か判定する関数を書いたのでメモ。
入力は float 型しか受け付けません。

>>> def isinteger(x):
...     if isinstance(x, float):
...         return if x == int(x)
...     else:
...         raise TypeError, "Input float"

入力された値と、入力を int() で整数にした値が等しいか比較します。
== は値の比較なので、float と int を比較してもうまくいくようですが、is だと常に False になります。

参考
整数か小数かの判定|脱プログラミング入門
Python で変数の型 (クラス) を調べる – types モジュール | すぐに忘れる脳みそのためのメモ
5.9 比較 (comparison)