Python3 isdigit()メソッド
説明
Python isdigit() メソッドは、文字列が数字だけで構成されているかどうかを検出します。
構文
isdigit()メソッドの構文:
str.isdigit()
パラメータ
- なし。
戻り値
文字列が数字のみを含む場合は True を返し、それ以外の場合は False を返します。
例
以下の例はisdigit()メソッドの例を示しています:
例
#!/usr/bin/python3
str = "123456";
print (str.isdigit())
str = "サンプル example....wow!!!"
print (str.isdigit())
str = "123456";
print (str.isdigit())
str = "サンプル example....wow!!!"
print (str.isdigit())
上記の例の出力結果は次のとおりです:
True False
isdigit() メソッドは正の整数にのみ有効で、負の数や小数は正しく返しません。
以下の関数を使用して解決できます:
例
# 数値かどうかを判定する
def is_number(s):
try: # float(s) ステートメントを実行できれば True を返す(文字列 s は浮動小数点数)
float(s)
return True
except ValueError: # ValueError は Python の標準例外の1つで、「無効な引数が渡された」ことを示します
pass # ValueError のような例外が発生した場合は、何もしない(pass:何もしないことを意味し、通常はプレースホルダー文として使用される)
try:
import unicodedata # ASCII コードを処理するパッケージ
unicodedata.numeric(s) # 数値を表す文字列を浮動小数点数に変換して返す関数
return True
except (TypeError, ValueError):
pass
return False
print(is_number(1))
print(is_number(1.0))
print(is_number(0))
print(is_number(-2))
print(is_number(-2.0))
print(is_number("abc"))
出力結果は:
True True True True True False
その他の拡張
Python3 文字列