str = '20210804'
str.isdecimal()
pythonで文字列が数字のみかどうかを確認する方法です。
python標準ライブラリのisdecimalメソッドを使用します。
文字列の中が数字だけであればTrueを、他の文字や記号などが入っていたらFalseを返します。
変数に数字だけを代入します。
実行します。
Trueが返されました。
str = '2021Aug04'
str.isdecimal()
数字とアルファベットで試してみましょう。
Falseが返されました。
str = '2021,08-04'
str.isdecimal()
カンマとハイフンで試してみましょう。
Falseが返されました。
str = '0804'
str.isdecimal()
全角の数字で試してみましょう。
Trueが返されました。
全角であっても数字であればTrueになります。
'0804'.isdigit()
'0804'.isnumeric()
'③'.isdecimal()
'③'.isdigit()
'③'.isnumeric()
'七五三'.isdecimal()
'七五三'.isdigit()
'七五三'.isnumeric()
'3.14'.isdecimal()
'3.14'.isdigit()
'3.14'.isnumeric()
同様に、数字かどうかを判断するメソッドには、isdigit,isnumericがあります。
isdecimalとisdigitの違いは、isdigitは③のような特殊数字やローマ数字も判断できる点です。
そしてisnumericは、漢数字なども判断できます。
しかしいずれも、小数点やハイフンが入ると数字と判断できません。
この場合は、float関数とtype関数で確認するとよいでしょう。
type(float('3.14'))
関連メソッド
【毎日Python】Pythonで文字列が数字かどうかを判断する方法|isdigit