カテゴリ: Python 更新日: 2026/06/09

Pythonのデータ型変換まとめ!int, float, str, list などの変換方法

Pythonのデータ型変換まとめ!int, float, str, list などの変換方法
Pythonのデータ型変換まとめ!int, float, str, list などの変換方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonで文字を数字にしたり、数字を文字に変えたりできるって聞いたんですが、本当にできますか?」

先生

「はい、Pythonではデータ型の変換が簡単にできますよ。たとえばint型やstr型への変換などです。」

生徒

「いろいろなデータ型があるんですね。どうやって使い分けるんですか?」

先生

「それでは、Pythonのintfloatstrlistなど、データ型の変換方法を基本から詳しく見ていきましょう!」

1. データ型とは?Pythonの基本と重要性

1. データ型とは?Pythonの基本と重要性
1. データ型とは?Pythonの基本と重要性

Pythonでプログラミングをする際、まず知っておきたいのが「データ型(Data Type)」です。これは、コンピュータに「このデータは数字なのか、それとも文字なのか」を教えるための値の種類のことです。

Pythonは「動的型付け言語」と呼ばれ、細かい設定なしで型を自動判別してくれますが、型が一致していないと計算エラー(TypeError)が起きてしまいます。そのため、基本的な型を理解することはスムーズな開発への第一歩です。代表的な型を以下の表にまとめました。

型名(クラス) 内容 具体例
int(整数) 小数点を含まない数値 10, -5, 0
float(浮動小数点) 小数点を含む数値 3.14, -0.5, 10.0
str(文字列) ダブルクォーテーション等で囲った文字 "Hello", '100'
list(リスト) 複数の値をまとめて管理する箱 [1, 2, 3]
[Image of data types in Python]

例えば、同じ「100」でも、数値の100と文字列の"100"では、コンピュータの中での扱われ方が全く異なります。実際にプログラムで現在の型を確認する方法を見てみましょう。


# 数値(整数)の代入
num = 100
print(num)

# 文字列の代入
text = "Python"
print(text)

このように、用途に合わせて適切なデータ型を選択したり、必要に応じて別の型へ変換(キャスト)したりすることが、エラーのないコードを書くための重要なテクニックになります。

2. 数値(int)を文字列(str)に変換する

2. 数値(int)を文字列(str)に変換する
2. 数値(int)を文字列(str)に変換する

Pythonで数値を画面に表示したり、他の文章とつなげたりしたいときは、str()関数を使って数値を「文字列」に変換する必要があります。プログラミング初心者の方が最初につまずきやすいのが、「数値の10」と「文字としての'10'」は別物という点です。

例えば、文章の途中に変数を組み込みたい場合、そのままではエラーが発生することがあります。以下のサンプルコードで、正しい変換方法を確認してみましょう。


# 年齢を数値として定義
age = 20

# str()を使って数値を文字列に変換して連結
message = "私の年齢は" + str(age) + "歳です。"
print(message)

# 別の例:点数を表示する
score = 100
print("テストの結果は" + str(score) + "点でした!")

私の年齢は20歳です。
テストの結果は100点でした!

str()は「string(文字列)」の略です。この関数の中に数値を入れるだけで、コンピュータはそれを「計算用の数字」ではなく「表示するための文字」として認識してくれるようになります。ログ出力やユーザーへのメッセージ表示など、開発現場でも非常によく使われる重要なテクニックです。

Tips:なぜ変換が必要なの?
Pythonでは "文字" + 20 のように、違う型同士を直接足し合わせることができません。そのため、str(20) とすることで「文字 + 文字」の形に揃えてあげる必要があるのです。

3. 文字列(str)を数値(int, float)に変換する方法

3. 文字列(str)を数値(int, float)に変換する方法
3. 文字列(str)を数値(int, float)に変換する方法

Webアプリの入力フォームや、外部ファイルから読み込んだデータは、たとえ数字であっても最初は「文字列(str型)」として扱われます。そのままでは計算(加算や乗算)ができないため、int()関数float()関数を使って数値に変換する必要があります。

例えば、ネットショップの注文画面で「100」という文字が入力された場合、それを数値に変換して消費税を計算する流れを考えてみましょう。


# ユーザーから「100」という文字が入力されたと仮定
input_price = "100"
tax_rate = 0.1

# 文字列のまま計算しようとするとエラーになるため、int()で整数に変換
price = int(input_price)
total = price * (1 + tax_rate)

print("合計金額は" + str(total) + "円です。")

合計金額は110.0円です。

上記のコードでは、int(input_price) とすることで、計算可能な数値に変換しています。もし、身長や体重、気温のように「170.5」といった小数点を含むデータを扱いたい場合は、float()関数を使いましょう。


# 小数点を含む文字列を数値(浮動小数点)に変換
height_str = "175.5"
height_num = float(height_str)

print(height_num + 5.0)  # 数値として計算できる

注意点:変換できないデータ
int("100円")int("python") のように、数字以外の文字が混じっていると、Pythonは「どうやって数字にすればいいかわからない!」とエラーを出してしまいます。変換する前には、純粋な数字のみが入っているか確認しましょう。

4. 数値同士の変換!float(小数)とint(整数)を使い分ける

4. 数値同士の変換!float(小数)とint(整数)を使い分ける
4. 数値同士の変換!float(小数)とint(整数)を使い分ける

Pythonでは、同じ数値でも整数(int)小数(float)は明確に区別されています。計算の精度を高めたいときや、逆に端数をなくしてスッキリさせたいときなど、状況に応じてこれらを相互に変換するシーンがよくあります。

小数から整数へ変換(切り捨ての仕組み)

小数(float)を整数(int)に変換すると、小数点以下は単純に切り捨てられます。四捨五入ではない点に注意しましょう。例えば、買い物の合計金額から端数をカットしたい場合などに活用できます。


# 小数点を含む数値(float型)
price = 198.99

# int()を使って整数に変換(小数点以下を切り捨てる)
discounted_price = int(price)

print("元の値:", price)
print("変換後の値:", discounted_price)

元の値: 198.99
変換後の値: 198

このように、int()関数を通すと、どんなに0.99に近くてもバッサリと切り捨てられ、整数部分だけが残ります。

整数から小数へ変換

逆に、整数をfloat()関数で変換すると、見た目には「.0」が付与され、コンピュータはそれを「精密な計算ができる小数」として扱うようになります。


# 整数(int型)
count = 10

# float()を使って小数に変換
float_count = float(count)

print("変換後の値:", float_count)

変換後の値: 10.0

「10」と「10.0」は数学的には同じですが、プログラムの世界では「整数の箱」に入っているか「小数の箱」に入っているかの違いがあります。計算結果をより厳密に(0.1単位などで)管理したい場合には、あらかじめfloat型に変換しておくと安心です。

5. リスト(list)への変換

5. リスト(list)への変換
5. リスト(list)への変換

list()関数を使うと、文字列・タプル・セットなどをリストに変換できます。

文字列をリストに変換すると、1文字ずつのリストになります。


text = "apple"
letters = list(text)
print(letters)

['a', 'p', 'p', 'l', 'e']

セット(set)をリストに変えると、順番は保証されませんが、リストとして扱えるようになります。

6. タプル(tuple)・セット(set)への変換

6. タプル(tuple)・セット(set)への変換
6. タプル(tuple)・セット(set)への変換

Pythonでは、リストをタプルやセットに変換することもできます。


fruits = ["りんご", "バナナ", "りんご"]
print(tuple(fruits))  # タプルへ
print(set(fruits))    # セットへ(重複排除)

('りんご', 'バナナ', 'りんご')
{'バナナ', 'りんご'}

tuple()は読み取り専用のように使いたいときに便利で、set()は重複をなくしたいときに使います。

7. 型を確認するには type()

7. 型を確認するには type()
7. 型を確認するには type()

データがどの型かを調べたいときは、type()関数を使います。


value = "100"
print(type(value))

<class 'str'>

このようにすれば、変数のデータ型が何かを確認できます。デバッグ(プログラムの動作確認)にも便利です。

8. 変換できないときの注意点

8. 変換できないときの注意点
8. 変換できないときの注意点

すべてのデータが必ずしも変換できるわけではありません。たとえば、文字列"abc"をintに変換しようとすると、エラーになります。


print(int("abc"))  # エラーになります

ValueError: invalid literal for int() with base 10: 'abc'

データ型を変換する前には、中身が変換可能な値かどうかをチェックするようにしましょう。

まとめ

まとめ
まとめ

Pythonのデータ型変換は、プログラミングを学ぶ上で欠かせない重要な知識です。この記事では、intfloatstrlisttuplesetなど、Pythonで扱うさまざまなデータ型の変換方法について詳しく解説しました。特に、文字列から数値への変換や、数値から文字列への変換リスト・タプル・セット間の相互変換は、実際の開発やデータ処理でも頻繁に登場します。

また、Pythonではtype()関数を使って、変数のデータ型を確認できるため、プログラムの動作確認やデバッグに役立ちます。ただし、すべてのデータが自由に変換できるわけではなく、変換できない場合の注意点も解説しました。たとえば、「abc」のような文字列をint()で変換しようとするとエラーになるため、型変換を行う前にisdigit()などで確認するのが安全です。

以下は、数値と文字列の変換を組み合わせて使うサンプルコードです:


price_str = "1200"
if price_str.isdigit():
    price = int(price_str)
    print("税込価格は " + str(int(price * 1.1)) + " 円です")
else:
    print("価格情報が不正です")

税込価格は 1320 円です

このように、Pythonの型変換は柔軟かつ強力で、初心者が躓きやすい部分でもありますが、一度慣れてしまえば非常に便利に使いこなせるようになります。リストを文字列に変換して結合したり、文字列を分割してリストに変換する処理なども、今後のステップとして覚えておくと良いでしょう。

最後に、データ型の変換においては元のデータがどのような形式であるかを常に意識し、適切な変換方法を選ぶことが大切です。型変換の理解を深めることで、Pythonのプログラミング力が着実に向上していきます。

先生と生徒の振り返り会話

生徒

「先生、Pythonの型変換って最初は難しく感じたけど、今日の記事ですごく整理されてわかりやすかったです!」

先生

「よかったです。特にstr()int()のような関数は、どんなデータでも柔軟に使えるので、これからたくさん活用できますよ。」

生徒

「入力を受け取って数値に変えて計算したり、リストを作って扱ったり、Pythonの基礎力がついた気がします!」

先生

「その調子です。Pythonのデータ型はしっかり理解しておけば、後で関数や辞書を学ぶときにも役立ちますよ。わからないときはtype()で型を調べるクセもつけておくと安心です。」

生徒

「はい!これからも型変換をマスターして、もっと実践的なコードが書けるようになりたいです!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonでintとstrの違いは何ですか?

intは整数を表すデータ型で、strは文字列を表すデータ型です。数値計算にはint、文章やテキスト処理にはstrを使います。

Pythonで文字列を数字に変換する方法は?

文字列を数字に変換するにはint()やfloat()を使います。数字の文字列でないとエラーになりますので注意が必要です。

Pythonで数字を文字列に変換するにはどうすればいいですか?

数値を文字列に変換するにはstr()を使います。print関数で文章と一緒に数値を表示したいときに便利です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

Python のデータ型と変数の記事一覧へ
新着記事
New1
Python
Pythonの整数と浮動小数点数の違いとは?数値型の基本を解説
New2
Python
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
New3
Python
Pythonのbreakとcontinueの違いとは?ループの制御方法をマスター
New4
Python
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェック
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPの特殊文字とエスケープ処理を完全ガイド!初心者向けにhtmlspecialcharsとhtmlentitiesをやさしく解説
No.2
Java&Spring記事人気No2
PHP
PHP の文字列のフォーマット(sprintf, printf)
No.3
Java&Spring記事人気No3
Python
Pythonで文字列を置換する方法!replace()の使い方と正規表現の活用
No.4
Java&Spring記事人気No4
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.5
Java&Spring記事人気No5
Python
Pythonのクロージャー(Closure)とは?関数内関数とnonlocalの活用
No.6
Java&Spring記事人気No6
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.7
Java&Spring記事人気No7
Python
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェック
No.8
Java&Spring記事人気No8
PHP
PHPの認証機能を実装する方法!初心者でもわかるログイン・ログアウト処理の基本