型変換する
Pythonでは「型変換(type conversion)」は、プログラミング初心者が必ず身につけるべき重要な基礎です。 型変換を理解すると、文字列 → 数値、数値 → 文字列、リスト → タプル など、データを自在に扱えるようになり、エラーの原因を減らすことができます。
ここでは、型変換をステップバイステップで丁寧に解説し、例題・テンプレートを交えて初心者でも迷わず使えるように説明します。
型変換の基本
Pythonには「組み込み型変換関数」が用意されており、次のように使います。
int() # 整数に変換
float() # 小数に変換
str() # 文字列に変換
list() # リストに変換
tuple() # タプルに変換
bool() # 真偽値に変換
PythonPythonでは、これらの関数を使って明示的に型を変換することができます。
数値と文字列の型変換(最もよく使う)
文字列 → 整数
age = "20"
age = int(age)
Python文字列 → 小数
price = "100.5"
price = float(price)
Python整数 → 文字列
count = 5
text = str(count)
Python深掘り:なぜ文字列のままでは計算できないのか
Pythonでは "20" は「数字に見える文字列」であり、計算できません。
"20" + 5 # ❌ TypeError
Python必ず int() や float() で数値に変換する必要があります。
リスト・タプル・セットの型変換
リスト → タプル
items = [1, 2, 3]
items_tuple = tuple(items)
Pythonタプル → リスト
coords = (10, 20)
coords_list = list(coords)
Pythonリスト → セット(重複削除に便利)
nums = [1, 2, 2, 3]
unique_nums = set(nums)
Python深掘り:なぜセットにすると重複が消えるのか
セットは数学の「集合」と同じで、同じ値を複数持てないという性質があります。
真偽値(bool)への型変換
Pythonでは「空かどうか」で真偽値が決まります。
bool(0) # False
bool("") # False
bool([]) # False
bool(None) # False
bool(1) # True
bool("abc") # True
bool([1,2]) # True
Python深掘り:条件分岐でよく使う
if items: # items が空でなければ True
print("データがあります")
Python実務でよく使う型変換の例
ユーザー入力(input)は必ず文字列
age = int(input("年齢を入力してください: "))
PythonCSVの数値を変換
row = ["Taro", "20", "Tokyo"]
name, age, city = row
age = int(age)
PythonAPIレスポンス(JSON)
data = {"price": "100.5"}
price = float(data["price"])
Python型変換テンプレート(そのまま使える)
数値変換
value = int(text)
value = float(text)
Python文字列変換
text = str(value)
Pythonリスト・タプル変換
lst = list(tpl)
tpl = tuple(lst)
Pythonセット変換
unique = set(lst)
Python初心者がつまずくポイント(深掘り)
① 数字に見える文字列は数値ではない
"100" + 50 # ❌
Python② 小数を整数に変換すると切り捨てられる
int(10.9) # 10
Python③ 型変換できない文字列
int("abc") # ❌ ValueError
Python④ None を変換しようとしてエラー
int(None) # ❌
Pythonセキュリティ視点での型変換
型変換はセキュリティにも関係します。
① 外部入力は必ず検証する
ユーザー入力や外部データは「数字に見える文字列」でも危険です。
age = input("年齢: ")
if age.isdigit():
age = int(age)
else:
print("数字を入力してください")
Python② 型が違うと意図しない動作が起きる
型の不一致はバグの原因になり、セキュリティホールにつながることがあります。
③ JSONの値はすべて Python の型とは限らない
APIレスポンスは文字列で返ってくることが多いため、必ず型変換が必要です。
まとめ
- Pythonの型変換は
int(),float(),str(),list(),tuple(),set(),bool()を使う - 文字列 → 数値変換は最もよく使う
- リスト・タプル・セットの変換はデータ処理で必須
- 真偽値変換は条件分岐で便利
- 外部入力は必ず検証することで安全性が高まる
型変換を理解すると、Pythonで扱えるデータの幅が大きく広がり、エラーを減らし、安全で読みやすいコードが書けるようになります。
