【Python】文字列strをint型に変換する方法

この記事では、Pythonで文字列をint型に変換する方法について解説します。

さまざまな変換方法を紹介し、実際の変換例と実行結果も示します。

目次から探す

文字列をint型に変換する方法

Pythonでは、文字列を整数型(int型)に変換する方法がいくつかあります。

以下では、それぞれの方法について詳しく解説します。

int()関数を使った変換方法

Pythonの組み込み関数であるint()関数を使うことで、文字列をint型に変換することができます。

int()関数は、引数として与えられた文字列を整数に変換して返します。

num_str = "123"
num_int = int(num_str)
print(num_int)
123

型キャストを使った変換方法

Pythonでは、型キャストを使っても文字列をint型に変換することができます。

型キャストとは、あるデータ型を別のデータ型に変換することを指します。

num_str = "456"
num_int = int(num_str)
print(num_int)
456

eval()関数を使った変換方法

eval()関数を使うことで、文字列を評価し、その結果を返すことができます。

文字列が整数の場合、eval()関数を使ってint型に変換することができます。

num_str = "789"
num_int = eval(num_str)
print(num_int)
789

正規表現を使った変換方法

正規表現を使って、文字列内の数字の部分を抽出し、int型に変換することもできます。

reモジュールを使って正規表現を扱います。

import re
num_str = "abc123def"
# [^0-9]で半角数字以外を全て取得し、取り除く
num_int = int(re.sub("[^0-9]", "", num_str))
print(num_int)
123

エラーハンドリングの考慮事項

文字列をint型に変換する際には、エラーハンドリングを適切に行うことが重要です。

例えば、文字列が整数ではない場合や、空の文字列の場合にはエラーが発生します。

num_str = "abc"
try:
    num_int = int(num_str)
    print(num_int)
except ValueError:
    print("変換できませんでした。")
変換できませんでした

エラーハンドリングを行うことで、プログラムがクラッシュすることなく、適切なエラーメッセージを表示することができます。

以上が、Pythonで文字列をint型に変換する方法です。

適切な方法を選んで使い、プログラムを効率的に開発してください。

変換例と実行結果の紹介

単純な整数の変換例

Pythonでは、文字列をint型に変換するために、int()関数を使用します。

以下は、単純な整数の変換例です。

num_str = "123"
num_int = int(num_str)
print(num_int)
123

小数点を含む文字列の変換例

文字列に小数点が含まれている場合でも、int()関数を使用して変換することができます。

ただし、小数点以下の部分は切り捨てられます。

以下は、小数点を含む文字列の変換例です。

float_str = "3.14"
float_int = int(float_str)
print(float_int)
3

数字以外の文字列の変換例

int()関数は、数字以外の文字列を変換しようとするとValueErrorを発生させます。

以下は、数字以外の文字列の変換例です。

non_numeric_str = "abc"
try:
    non_numeric_int = int(non_numeric_str)
    print(non_numeric_int)
except ValueError:
    print("変換できません")
変換できません

エラーハンドリングの例

文字列をint型に変換する際には、エラーハンドリングを適切に行うことが重要です。

以下は、エラーハンドリングの例です。

num_str = "123"
try:
    num_int = int(num_str)
    print(num_int)
except ValueError:
    print("変換できません")
123

以上が、文字列をint型に変換する際の変換例と実行結果の紹介です。

適切な変換方法を選択し、エラーハンドリングを行うことで、正確な結果を得ることができます。

注意点とベストプラクティス

変換可能な文字列の範囲に注意する

文字列をint型に変換する際には、変換可能な範囲に注意する必要があります。

Pythonのint型は、通常の整数値の範囲であれば問題なく変換できますが、非常に大きな値や小さな値、または浮動小数点数などは変換できない場合があります。

変換しようとする文字列が変換可能な範囲に収まっているかを確認しましょう。

エラーハンドリングを適切に行う

文字列をint型に変換する際には、エラーハンドリングを適切に行うことが重要です。

変換しようとする文字列がint型に変換できない場合、PythonはValueErrorという例外を発生させます。

この例外をキャッチして適切なエラーメッセージを表示することで、プログラムの実行を中断せずにエラーを処理することができます。

文字列の前処理を行う

文字列をint型に変換する前に、文字列の前処理を行うことで変換の成功率を高めることができます。

例えば、文字列に含まれる不要な空白や改行文字を削除する、数値以外の文字が含まれている場合は除去するなどの前処理を行うことで、変換の際に予期しないエラーを回避することができます。

文字列の前処理を適切に行い、変換でエラーが発生しないようにしましょう。

目次から探す