Python で文字列が整数かどうかをチェックする
Muhammad Waiz Khan
2023年1月30日
-
Python で文字列が整数かどうかを調べるには
str.isdigit()
メソッドを使用する -
Python で文字列が整数かどうかをチェックするには
try ... except
例外処理を使用する - Python で正規表現を使って文字列が整数かどうかを調べる
このチュートリアルでは、Python で文字列が整数かどうかをチェックする方法を説明します。文字列が整数であるということは、文字列に格納されている値が整数を表しているということです。これをチェックする方法は複数あり、このチュートリアルではコード例を見ながら説明します。
Python で文字列が整数かどうかを調べるには str.isdigit()
メソッドを使用する
Python で文字列が整数かどうかを調べる最も効率的な方法は str.isdigit()
メソッドを使用することです。
str.isdigit()
メソッドは文字列が整数であれば True
を返し、そうでなければ False
を返します。以下のコード例はその使い方を示しています。
def if_integer(string):
if string[0] == ("-", "+"):
return string[1:].isdigit()
else:
return string.isdigit()
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
出力:
True
True
False
上の例では、整数の符号 +
や -
が文字列に含まれているかどうかにも注意を払っています。最初の文字列が +
または -
であれば、残りの文字列が整数かどうかをチェックします。
Python で文字列が整数かどうかをチェックするには try ... except
例外処理を使用する
もう一つの方法は、int()
関数で try ... except
例外処理を利用することです。文字列が整数であれば True
を、そうでなければ False
を返します。以下のコード例は、このメソッドを実装する方法を示しています。
def if_integer(string):
try:
int(string)
return True
except ValueError:
return False
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
出力:
True
True
False
Python で正規表現を使って文字列が整数かどうかを調べる
使用できる別の興味深いアプローチは、正規表現です。整数を表す正規表現は [+-]?\d+$
になります。ここで、[+-]?
は +-
記号がオプションであることを意味し、\d+
は 1つ以上の数字が必要であることを意味します文字列内で、$
は文字列の終わりです。
コード例:
import re
def if_integer(string):
reg_exp = "[-+]?\d+$"
return re.match(reg_exp, string) is not None
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
出力:
True
True
False
関連記事 - Python String
- Python で文字列からコンマを削除する
- Python で文字列を変数名に変換する
- Python 文字列の空白を削除する方法
- Python で文字列から数字を抽出する
- Python が文字列を日時 datetime に変換する方法
- Python 2 および 3 で文字列を小文字に変換する方法