int、float、str関数でPythonのデータ型を数値、文字列間の相互変換
- 公開日:2018/10/31
- 更新日:2018/10/31
- 投稿者:n bit
Pythonの組み込み関数『int、float、str関数』について解説。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関数については下記ページをご参照ください。
Pythonでオブジェクトのデータ型を調べるtype関数【組み込み関数】
Pythonで各オブジェクトのデータ型を調べるときに利用する組み込み関数『type関数』について解説しています。本番環境よりは学習時によく利用される組み込み関数で、Pythonのプログラミング学習を進めていっている方は最初のうちよく利用するでしょう。
通常はこれで問題ないのですが、例えば変数に格納されたデータを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等からデータを取得したような場合、スクレイピングしてウェブからデータを取得した場合など様々なケースで多様しますのでしっかりと覚えておきましょう。
【フリーランス向けの完全無料Pythonプログラミング講座】
dot blogではこの記事以外にも完全無料でフリーランス向けのPythonプログラミング講座を公開中です。フリーランスとして活躍し稼ぐための強力な武器となりますよ。
Python入門講座【無料のプログラミング学習講座】
最近特に注目度が高くなってきているプログラミング言語Python。転職、フリーランス、独立・起業を検討中、日々の業務が忙しい社会人等は今こそ身に付けておきたいスキルの1つ。初心者向けにやさしいプログラミング学習内容のPython入門講座を無料で公開。