イントロダクション
この記事では python の isdecimal() メソッドを紹介します。
与えられた文字列が数字、特に10進数を含むかどうかをチェックしたい場合はどうしたらよいでしょうか。
これは、文字列を整数や浮動小数点数などの他の数値型に変換する必要がある場合に起こり得ます。
この問題を解決するために、Pythonには isdecimal()
というチェックメソッドが組み込まれています。
このメソッドを詳しく調べて、メソッドがどのように動作し、どのように使用できるかを理解しましょう。
Python isdecimal() メソッドの基礎知識
一般に、Python の isdecimal()
メソッドは、指定された文字列のすべての文字が10進数かどうかを直接チェックします。
もしそうなら、このメソッドは true
を返し、そうでないなら false
を返します。
Python isdecimal() メソッドの構文
Python の isdecimal()
メソッドの構文とその使い方について説明します。
status = str .isdecimal( )
|
ここで
- ここで、
str
は10進文字のみから構成されているかどうかを調べる文字列です。 -
status
にはisdecimal()
メソッドが返す値が格納される。これは、すべての10進文字に対して真であり、そうでない場合は偽です。
注意: ここでは、status は単に true か false のどちらかを保持するので、 bool
という型になります。
この記事もチェック:Pythonでstripメソッドを使って文字列をトリミングする3つの方法
isdecimal() メソッドの基本的な例
ここでは、Python の文字列に対する isdecimal()
メソッドの使い方を説明します。
string1 = "1010"
print ( "String is: " ,string1)
print ( "Result: " ,string1.isdecimal())
string2 = "a10101"
print ( "String is: " ,string2)
print ( "Result: " ,string2.isdecimal())
|
結果は以下の通りです。
String is : 1010
Result: True
String is : a10101
Result: False
|
ここで
- String1 はすべて 10 進文字で構成されています。したがって、
string1.isdecimal()
文はTrue
という結果を返します。 - 一方、string2 には ‘a’ という文字が含まれています。一方、string2 には ‘a’ という文字があります。string2 はすべての 10 進文字で構成されていないため、この場合の結果は
False
です。
注意:Python の isdecimal()
メソッドは、分数、下付き文字、上付き文字、その他の Unicode で実装された文字を 10 進文字または数字文字として考慮しません。
したがって、文字列中にこれらの数値文字が存在する場合、このメソッドは False
を返します。
Python isdecimal() の動作について
Python の文字列を扱うメソッド isdecimal()
がどのように動作し、何を返すかを説明します。
# . is not considered as decimal character string1 = "55.55"
print ( "String is: " ,string1)
print ( "Result: " ,string1.isdecimal())
#Pure character string string2 = "Python"
print ( "String is: " ,string2)
print ( "Result: " ,string2.isdecimal())
#U+2082 unicode for subscript 2 string3 = "222u2082"
print ( "String is: " ,string3)
print ( "Result: " ,string3.isdecimal())
#U+2074 unicode for superscript 4 string4 = "34u2074"
print ( "String is: " ,string4)
print ( "Result: " ,string4.isdecimal())
#U+2152unicode for 1/10 fraction string5 = "10u2152"
print ( "String is: " ,string5)
print ( "Result: " ,string5.isdecimal())
#@ not considered as decimal character string6 = "@1234"
print ( "String is: " ,string6)
print ( "Result: " ,string6.isdecimal())
|
結果は以下の通りです。
上のコードでは
- 文字列1に対して、
isdecimal()
メソッドはfalse
を返します。これは、数字の間にドット(.)文字があるためです。このメソッドは、この文字を10進文字ではないと判断します。 - 文字列2についても、文字列は完全に、あるいは純粋に文字だけで構成されているため、このメソッドは
false
という結果を返します。 - 文字列3、文字列4、文字列5のすべての文字列についてです。これらの文字列はすべて、数字以外の文字に対応する Unicode 値を含んでいるので、
isdecimal()
メソッドはfalse
を返します。 - これは、文字列が ‘@’ 文字を含んでおり、それがまた非十進文字であるためです。
まとめ
この記事では、Python の組み込み文字列 isdecimal()
メソッドについて、その使用方法と動作について学びました。
何か質問があれば、以下にコメントしてください。