float()で数値判定
Pythonで文字列が数値(整数や浮動小数点)かどうかを確認する最も一般的な方法は、float()を使用したトライキャッチ処理です。数値に変換できるかどうかを確認し、ValueErrorが発生した場合は数値ではないと判定します。
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
この方法は整数、小数、さらには指数表記にも対応します。
isdigit()で整数判定
整数のみを判定する場合、isdigit()メソッドが役立ちます。このメソッドは文字列がすべて数字で構成されているかどうかを確認し、Trueを返します。
s = "12345"
print(s.isdigit()) # True
ただし、isdigit()は負の数や小数には対応していないため、その点には注意が必要です。
まとめ
Pythonで文字列が数値かどうかを確認するには、float()を使ったトライキャッチが最も信頼できる方法です。整数のみを判定する場合には、isdigit()が簡便です。状況に応じてこれらを使い分けましょう。