【Python】int() float() str() データ型変換を1分で整理

Python

本ページでは、Pythonにおけるデータ型変換の方法を1分で理解できるようサクッと解説します。

そもそもなぜデータ型変換が必要なの?というところから、int関数・float関数・str関数の使い方まで網羅的に整理して説明します。

このページで学べる内容
  • データ型変換とは?
  • データ型変換が必要な理由
  • データ型変換を行う主な組み込み関数
    • int関数
    • float関数
    • str関数

Pythonエンジニアであれば、知らないと恥ずかしい超・重要知識ばかりです。

是非最後までご覧ください。

データ型変換とは?

データ型変換とは、その名の通り変数やオブジェクトのデータ型を別のデータ型に変換することです。

文字列として扱っていた変数を、数値型として扱うようにしたり、その逆で数値型を文字型として扱えるようにしたりするのがデータ型変換です。

人によっては、単に「型変換」と呼んだり、「キャストする」と言ったりしますが、どれも意味は同じです。

なぜデータ型変換が必要なのか?

そもそも、なぜデータ型変換が必要なのでしょうか?

データ型変換が必要となるコードの例を見てみましょう。

a = "私の年齢は"   # 変数aは文字列
b = 100            # 変数bは数値

print(a + b)

このコードを動かしてみてください。

TypeError: can only concatenate str (not "int") to str

上記のようなTypeErrorが発生するのです。

エラーの内容は、簡単に言えば「データ型が異なるものは、結合できません」ということです。

もし、これをエラーなく出力させたい場合には、事前にデータ型変換を行い、結合するデータ型を合わせておく必要があるのです。

データ型変換を行う主な組み込み関数

ここからは本題のデータ型変換を行う組み込み関数と、その使い方を解説していきます。

このページでは、もっとも基本となる以下の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関数:構文ルール

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から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。

各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。

タイトルとURLをコピーしました