【毎日Python】Pythonで文字列が数字かどうかを確認する方法|str.isdecimal

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

【毎日Python】Pythonで文字列が数字かどうかを判断する方法|isnumeric

【毎日Python】Pythonで文字列が空白かどうか確認する方法|str.isspace