本ページでは、Pythonにおけるデータ型変換の方法を1分で理解できるようサクッと解説します。
そもそもなぜデータ型変換が必要なの?というところから、int関数・float関数・str関数の使い方まで網羅的に整理して説明します。
Pythonエンジニアであれば、知らないと恥ずかしい超・重要知識ばかりです。
是非最後までご覧ください。
データ型変換とは?
データ型変換とは、その名の通り変数やオブジェクトのデータ型を別のデータ型に変換することです。

文字列として扱っていた変数を、数値型として扱うようにしたり、その逆で数値型を文字型として扱えるようにしたりするのがデータ型変換です。
人によっては、単に「型変換」と呼んだり、「キャストする」と言ったりしますが、どれも意味は同じです。
なぜデータ型変換が必要なのか?
そもそも、なぜデータ型変換が必要なのでしょうか?
データ型変換が必要となるコードの例を見てみましょう。
a = "私の年齢は" # 変数aは文字列 b = 100 # 変数bは数値 print(a + b)
このコードを動かしてみてください。
TypeError: can only concatenate str (not "int") to str
上記のようなTypeErrorが発生するのです。
エラーの内容は、簡単に言えば「データ型が異なるものは、結合できません」ということです。
もし、これをエラーなく出力させたい場合には、事前にデータ型変換を行い、結合するデータ型を合わせておく必要があるのです。
Pythonは動的型付け言語であるため、変数のデータ型は自動的に付与されます。
詳しく知りたい方は、以下のページに詳細を記載しておりますので一度ご覧になってみてください。
データ型変換を行う主な組み込み関数
ここからは本題のデータ型変換を行う組み込み関数と、その使い方を解説していきます。
このページでは、もっとも基本となる以下の3つの関数について説明します。
int関数
データ型を整数へ変換する
str関数
データ型を文字列へ変換する
float関数
データ型を少数へ変換する
int関数
int関数は、引数に指定したオブジェクトのデータ型を整数へ変換します。
int(オブジェクト)
早速サンプルコードをご覧ください。
a = "10" # 文字列 b = 10 # 数字 print(a + b) # TypeError: can only concatenate str (not "int") to str
このコードでは、変数aが文字列。変数bが整数となっているため、正しく処理ができません。
これは、プログラムが結合すればよいのか?計算すればよいのか?を判断できないためです。
ここで、変数aをint関数を利用して、整数に変換してみます。
a = "10" b = 10 print(int(a) + b) # int関数を利用して変数aを整数に変換 # 20
すると、正しく処理が行われ、変数aと変数bを計算することができました。
str関数
今度は、str関数を利用して変数bを文字列に変換してみます。
str(オブジェクト)
a = "10" b = 10 print(a + str(b)) # str関数を利用して変数bを文字列に変換する
結果は「1010」が表示されます。
今度は、変数bが文字列に変換されたので、文字列の結合が行われました。
本ページ冒頭で見たコードも、str関数を利用すれば問題なく表示することができるようになります。
a = "私の年齢は" # 変数aは文字列 b = 100 # 変数bは数値 print(a + str(b))
結果は「私の年齢は100」となります。
float関数
float関数は、指定したオブジェクトのデータ型を少数に変換します。
float(オブジェクト)
a = 10 print(float(a)) # 10.0
小数点以下1位まで表示されるようになりました。
a = "3.1415926535" print(float(a)) # 3.1415926535
データ型を判定するには?
int関数・float関数などを利用する場合に、変換前のデータ型を判定する必要がある場合がほとんど。
int()/float()/str()とセットで、type関数についても合わせて覚えておくと便利です。
type(オブジェクト)
データ型判定をしたいオブジェクトを引数に指定するだけ。
a = 1 b = "Hello World" c = ["あいうえお","かきくえこ","さしすせそ"] print(type(a)) # aのデータ型をプリント print(type(b)) # bのデータ型をプリント print(type(c)) # cのデータ型をプリント # <class 'int'> # <class 'str'> # <class 'list'>
さらに詳しく知りたい方は、こちらの記事をご覧ください。
Pythonを1から学習したい方は
Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。
そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。
各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。