Pythonのデータ型変換まとめ!初心者向けにint, float, str, listの変換方法をやさしく解説
生徒
「Pythonで数字を文字にしたり、文字をリストに変えたりってできますか?」
先生
「もちろんできますよ!それが“データ型変換”という仕組みです。Pythonではint(整数)、float(小数)、str(文字列)、list(リスト)などの型に変換できます。」
生徒
「でも、どうやって変換するのか難しそう…」
先生
「大丈夫です!初心者でもすぐわかるように、簡単な例を使ってひとつずつ説明していきますね。」
1. データ型とは?
まず、Pythonには「データ型」という考え方があります。たとえば、「10」という数字はint型(整数)、「3.14」はfloat型(小数)、「こんにちは」はstr型(文字列)です。
そして、型を変えることを「型変換」または「キャスト」と呼びます。Pythonではとても簡単に型変換ができるので安心してください。
2. 数字を文字に変換(int → str)
たとえば、年齢などの数字を文章と一緒に表示したいとき、数字を文字に変える必要があります。
age = 20
text = "私は" + str(age) + "歳です。"
print(text)
私は20歳です。
str()は、数値を文字列に変換する関数です。
3. 文字を数字に変換(str → int / float)
逆に、文字として保存されている「数字っぽい文字」を、計算できるように数値型に変換することもできます。
num_str = "100"
num = int(num_str)
print(num + 50)
150
このようにint()を使えば文字列から整数に、float()を使えば小数に変換できます。
price_str = "123.45"
price = float(price_str)
print(price + 10)
133.45
4. 数字の型を変える(int ↔ float)
整数intと小数floatの間でも変換できます。
x = 10
y = float(x)
print(y)
10.0
z = 3.99
w = int(z)
print(w)
3
小数から整数に変換すると、小数点以下は切り捨てられるので注意しましょう。
5. 文字列をリストに変換(str → list)
1文字ずつバラバラにしたいとき、文字列をリストに変換することができます。
word = "Python"
char_list = list(word)
print(char_list)
['P', 'y', 't', 'h', 'o', 'n']
list()を使うと、1文字ずつの要素としてリスト化されます。
6. 数字をリストに変換はできる?
数字(intやfloat)をlist()で直接リストに変換しようとするとエラーになります。
その場合は、まず文字列にしてからリストに変換するという手順が必要です。
number = 1234
num_list = list(str(number))
print(num_list)
['1', '2', '3', '4']
こうすれば、数字の各桁を文字として扱うリストが作れます。
7. listをstrに変換(リスト → 文字列)
リストの要素を1つの文字列にまとめたいときにはjoin()を使います。
chars = ['P', 'y', 't', 'h', 'o', 'n']
word = ''.join(chars)
print(word)
Python
''は区切り文字を表します。たとえばスペースを入れるなら' 'とします。
8. 型変換で失敗しやすいポイント
初心者が間違えやすいのは、「数字っぽく見えても実際は変換できない文字列」です。
value = "10abc"
number = int(value) # これはエラーになります
このように、"10abc"のような文字列はint()では変換できません。必ず数字だけの文字列であることを確認しましょう。
まとめ
Pythonのデータ型変換を正しく理解して柔軟な処理を書けるようになろう
この記事では、Pythonにおけるデータ型変換について、初心者の方にも分かりやすいように、 int、float、str、listといった基本的なデータ型を中心に解説してきました。 Pythonは動的型付け言語であるため、変数の型を意識せずに書ける場面も多いですが、 実際のプログラムではデータ型の違いを理解していないとエラーや思わぬ不具合につながることがあります。 そのため、データ型変換はPythonの基礎の中でも特に重要なテーマのひとつです。
数字を文字列に変換するstr、文字列を整数や小数に変換するintやfloatは、 入力値の処理や画面表示、計算処理など、さまざまな場面で頻繁に使われます。 例えば、年齢や金額を文章として表示したい場合にはintからstrへの変換が必要ですし、 逆にフォーム入力やファイル読み込みで受け取った文字列を計算に使うには、 strからintやfloatへの変換が欠かせません。 これらの基本操作を自然に使い分けられるようになることが、Python初心者から一歩成長するポイントです。
数値型と文字列型の変換で押さえておきたい注意点
intとfloatの相互変換についても重要なポイントがありました。 整数をfloatに変換すると小数点付きの数値になり、 floatをintに変換すると小数点以下が切り捨てられます。 この挙動を知らないまま使うと、計算結果が意図しない値になることがあります。 特に金額計算や数量計算など、正確さが求められる処理では注意が必要です。
また、文字列から数値への変換では、変換対象の文字列が「数字だけで構成されているか」を 常に意識する必要があります。 見た目が数字に近くても、文字や記号が含まれている場合は変換できずエラーになります。 型変換のエラーを防ぐためには、事前にデータの中身を確認したり、 想定外の入力が来る可能性を考えながらコードを書く姿勢が大切です。
listとstrの変換を理解すると処理の幅が広がる
文字列とリストの変換も、Pythonでは非常によく使われるテクニックです。 list関数を使えば、文字列を一文字ずつ分解したリストを簡単に作ることができます。 これは、文字単位での処理やチェックを行いたい場合にとても便利です。 一方で、リストを文字列に戻したい場合にはjoinを使うことで、 複数の文字を一つの文字列としてまとめることができます。
数字を直接リストに変換できない点も、初心者がつまずきやすいポイントですが、 一度文字列に変換してからlistにするという流れを理解しておけば問題ありません。 このように、Pythonのデータ型変換は単体で覚えるのではなく、 複数の変換を組み合わせて使えるようになることで、実践的な力が身についていきます。
データ型変換を活用したサンプルプログラム
ここで、これまで学んだデータ型変換を組み合わせた簡単なサンプルプログラムを見てみましょう。 数値、文字列、リストの変換を一通り確認できます。
age_str = "25"
age = int(age_str)
message = "年齢は" + str(age) + "歳です"
print(message)
number = 789
digits = list(str(number))
print(digits)
word_list = ['P', 'y', 't', 'h', 'o', 'n']
word = ''.join(word_list)
print(word)
このように、データ型変換を正しく使いこなせるようになると、 Pythonで扱えるデータの幅が一気に広がります。 単純なサンプルであっても、実際の開発現場で使われている考え方が詰まっています。
生徒「データ型変換って、思っていたよりも使う場面が多いんですね。」
先生「そうだね。Pythonでは特に、文字列と数値の変換は日常的に使うよ。」
生徒「文字列をそのまま計算しようとしてエラーが出た理由も分かりました。」
先生「型を意識できるようになると、エラーの原因も見つけやすくなるね。」
生徒「listやjoinの変換も便利そうなので、いろいろ試してみたいです。」
先生「いい心がけだね。データ型変換を使いこなせるようになると、Pythonで書けるプログラムの幅が大きく広がるよ。」