int、float、str関数でPythonのデータ型を数値、文字列間の相互変換のイメージ画像

int、float、str関数でPythonのデータ型を数値、文字列間の相互変換

  • 公開日:2018/10/31
  • 更新日:2018/10/31
  • 投稿者:n bit

Pythonの組み込み関数『int、float、str関数』について解説。Pythonオブジェクトに格納されている数字のデータを整数や浮動小数点数、文字列間でデータ型を相互変換します。

  • Python

この記事は約 分で読めます。(文字)

mint、float、str関数とは

int、float、str関数はデータのデータ型を決定づける組み込み関数です。変数に代入するとき、これらの関数を利用することでオブジェクトのデータ型を任意で事前に宣言することができます。

int、float、str関数の主な用途

  • データのデータ型を宣言する

それぞれの関数とデータ型、取り扱うデータの対応は以下の表をご確認ください。

関数名データ型扱うデータ
int関数int型整数
float関数float型浮動小数点数
str関数str型文字列

数字データの相互変換の必要性

int、float、str関数を使ってデータを相互変換することが多いのは数字のデータです。例えば数字の『5』はそのまま変数に代入するとint型として自動的にデータ型が決定します。

x = 5

print(type(x))

出力結果

<class 'int'>

実際にtype関数で調べてみると『<class 'int'>』になっていることがわかります。

オブジェクトのデータ方を調べるtype関数については下記ページをご参照ください。

通常はこれで問題ないのですが、例えば変数に格納されたデータをstr型のオブジェクトと演算する場合や、その逆で変数に代入された時点でテキストの数字として代入されているオブジェクトとint型またはfloat型のオブジェクトと演算するときにはエラーとなってしまいます。

str型とint型を同時にprint関数で出力しようとして起きるエラーの事例

x = 5

print('この数字は' + x + 'です')

出力結果

TypeError: Can't convert 'int' object to str implicitly

int型にstr型を加えて演算しようとしたときに起きるエラーの事例

x1 = '5'

x2 = 3
y = x1 + x2
print(y)

出力結果

TypeError: Can't convert 'int' object to str implicitly

そのためそれぞれのデータ型と同じデータ型へ事前に変換しておく必要があります。

int、float、str関数の使い方

int、float、str関数の使い方はそれぞれの引数に変換したいデータを渡すだけです。実際にint、float、str関数を使って数字データを相互変換してみましょう。

int型からstr型へのデータ型変換

x = 5

print(x, type(x))
y = str(x)
print(y, type(y))

出力結果

5 <class 'int'>

5 <class 'str'>

int型からfloat型へのデータ型変換

x = 5

print(x, type(x))
y = float(x)
print(y, type(y))

出力結果

5 <class 'int'>

5.0 <class 'float'>

float型からint型へのデータ型変換

x = 5.0

print(x, type(x))
y = int(x)
print(y, type(y))

出力結果

5.0 <class 'float'>

5 <class 'int'>

float型からstr型へのデータ型変換

x = 5.0

print(x, type(x))
y = str(x)
print(y, type(y))

出力結果

5.0 <class 'float'>

5.0 <class 'str'>

str型からint型へのデータ型変換

x = '5'

print(x, type(x))
y = int(x)
print(y, type(y))

出力結果

5 <class 'str'>

5 <class 'int'>

str型からfloat型へのデータ型変換

x = '5'

print(x, type(x))
y = float(x)
print(y, type(y))

出力結果

5 <class 'str'>

5.0 <class 'float'>

int、float、str関数を使った相互変換の事例

それでは最初にエラー表示していたケースでint、float、str関数を使って正しく表示させる事例を見てみましょう。

str型とint型を同時にprint関数で出力する場合の変換事例

str型との演算前にstr(x)でint型を変換しておきます。

x = 5

print('この数字は' + str(x) + 'です')

出力結果

この数字は5です

int型にstr型を加えて演算する場合の変換事例

int型との演算前にint(x)でstr型を変換しておきます。

x1 = '5'

x2 = 3
y = int(x1) + x2
print(y)

出力結果

8

事前にデータ型を変換しておくことで正しく演算できるようになりました。

今日のdot

『int、float、str関数』を使った数字データのデータ型相互変換は今回のようにprint関数で出力する場合や、CSV等からデータを取得したような場合、スクレイピングしてウェブからデータを取得した場合など様々なケースで多様しますのでしっかりと覚えておきましょう。