Pythonのデータ型変換まとめ!int, float, str, list などの変換方法
生徒
「Pythonで文字を数字にしたり、数字を文字に変えたりできるって聞いたんですが、本当にできますか?」
先生
「はい、Pythonではデータ型の変換が簡単にできますよ。たとえばint型やstr型への変換などです。」
生徒
「いろいろなデータ型があるんですね。どうやって使い分けるんですか?」
先生
「それでは、Pythonのint、float、str、listなど、データ型の変換方法を基本から詳しく見ていきましょう!」
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] |
例えば、同じ「100」でも、数値の100と文字列の"100"では、コンピュータの中での扱われ方が全く異なります。実際にプログラムで現在の型を確認する方法を見てみましょう。
# 数値(整数)の代入
num = 100
print(num)
# 文字列の代入
text = "Python"
print(text)
このように、用途に合わせて適切なデータ型を選択したり、必要に応じて別の型へ変換(キャスト)したりすることが、エラーのないコードを書くための重要なテクニックになります。
2. 数値(int)を文字列(str)に変換する
数字をそのまま表示しようとするとき、str()関数を使って文字列に変換することで、文章と一緒に表示できます。
age = 20
print("年齢は" + str(age) + "歳です")
年齢は20歳です
str()は、数値や他のデータ型を文字列に変換する関数です。
3. 文字列(str)を数値(int, float)に変換する
ユーザーからの入力などで得られた文字列を計算に使うには、int型やfloat型に変換する必要があります。
price = "100"
tax = 0.1
total = int(price) * (1 + tax)
print(total)
110.0
int()で整数に、float()で小数に変換できます。ただし、数字以外の文字列を変換しようとするとエラーになります。
4. float型とint型の相互変換
小数(float)を整数(int)に変換すると、小数点以下が切り捨てられます。
number = 5.99
print(int(number))
5
逆に、intをfloatに変えると、小数として扱えるようになります。
print(float(3))
3.0
5. リスト(list)への変換
list()関数を使うと、文字列・タプル・セットなどをリストに変換できます。
文字列をリストに変換すると、1文字ずつのリストになります。
text = "apple"
letters = list(text)
print(letters)
['a', 'p', 'p', 'l', 'e']
セット(set)をリストに変えると、順番は保証されませんが、リストとして扱えるようになります。
6. タプル(tuple)・セット(set)への変換
Pythonでは、リストをタプルやセットに変換することもできます。
fruits = ["りんご", "バナナ", "りんご"]
print(tuple(fruits)) # タプルへ
print(set(fruits)) # セットへ(重複排除)
('りんご', 'バナナ', 'りんご')
{'バナナ', 'りんご'}
tuple()は読み取り専用のように使いたいときに便利で、set()は重複をなくしたいときに使います。
7. 型を確認するには type()
データがどの型かを調べたいときは、type()関数を使います。
value = "100"
print(type(value))
<class 'str'>
このようにすれば、変数のデータ型が何かを確認できます。デバッグ(プログラムの動作確認)にも便利です。
8. 変換できないときの注意点
すべてのデータが必ずしも変換できるわけではありません。たとえば、文字列"abc"をintに変換しようとすると、エラーになります。
print(int("abc")) # エラーになります
ValueError: invalid literal for int() with base 10: 'abc'
データ型を変換する前には、中身が変換可能な値かどうかをチェックするようにしましょう。
まとめ
Pythonのデータ型変換は、プログラミングを学ぶ上で欠かせない重要な知識です。この記事では、int・float・str・list・tuple・setなど、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()で型を調べるクセもつけておくと安心です。」
生徒
「はい!これからも型変換をマスターして、もっと実践的なコードが書けるようになりたいです!」