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'
データ型を変換する前には、中身が変換可能な値かどうかをチェックするようにしましょう。