Pythonで文字列が数値かどうかを確認する方法


  1. isdigit()メソッドを使用する方法: 文字列がすべて数字で構成されている場合にTrueを返します。
def is_number(string):
    return string.isdigit()
# 使用例
print(is_number("12345"))  # True
print(is_number("abc123"))  # False
  1. try-except文を使用する方法: 文字列を数値に変換し、例外が発生するかどうかを確認します。
def is_number(string):
    try:
        float(string)
        return True
    except ValueError:
        return False
# 使用例
print(is_number("12345"))  # True
print(is_number("abc123"))  # False
  1. 正規表現を使用する方法: 正規表現パターンを定義し、文字列がパターンに一致するかどうかを確認します。
import re
def is_number(string):
    pattern = "^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$"
    return re.match(pattern, string) is not None
# 使用例
print(is_number("12345"))  # True
print(is_number("abc123"))  # False

これらの方法を使用することで、Pythonで文字列が数値かどうかを確認することができます。