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

isdecimal
こつこつPython
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

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト