Pythonのデータ型変換まとめ!int, float, str, list などの変換方法
生徒
「Pythonで文字を数字にしたり、数字を文字に変えたりできるって聞いたんですが、本当にできますか?」
先生
「はい、Pythonではデータ型の変換が簡単にできますよ。たとえばint型やstr型への変換などです。」
生徒
「いろいろなデータ型があるんですね。どうやって使い分けるんですか?」
先生
「それでは、Pythonのint、float、str、listなど、データ型の変換方法を基本から詳しく見ていきましょう!」
1. データ型とは?Pythonの基本
Pythonでは、数字・文字・リストなど、値の種類(データ型)がいくつかあります。たとえば:
- int(整数):例)10, -3
- float(小数):例)3.14, -1.5
- str(文字列):例)"こんにちは"
- list(リスト):例)[1, 2, 3]
これらのデータ型は、必要に応じて別の型に変換できます。これを「型変換」と呼びます。
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()で型を調べるクセもつけておくと安心です。」
生徒
「はい!これからも型変換をマスターして、もっと実践的なコードが書けるようになりたいです!」