Python 3 では、データ型を変換する方法がいくつかあります。データ型の変換は、プログラム内で異なる型の値を扱うために必要不可欠な技術です。この記事では、Python 3 におけるデータ型の変換(キャスト)について、基本的な方法とその使用例を詳しく解説します。
1. Python のデータ型
まずは、Python で一般的に使用される主要なデータ型を紹介します。

-
整数型(int):整数の値を表します。例えば、
5
,-23
,1000
など。 -
浮動小数点型(float):小数を含む数値を表します。例えば、
3.14
,-0.001
,100.0
など。 -
文字列型(str):文字や文字列を表します。例えば、
"こんにちは"
,"Python"
など。 -
リスト型(list):複数のデータを順序付きで格納するための型です。例えば、
[1, 2, 3]
,["apple", "banana"]
など。 -
タプル型(tuple):リストと似ていますが、変更不可な順序付きのコレクションです。例えば、
(1, 2, 3)
,("a", "b")
など。 -
辞書型(dict):キーと値のペアを格納するための型です。例えば、
{"name": "Alice", "age": 25}
など。
これらのデータ型間で変換を行うことができます。次に、具体的な変換方法を紹介します。
2. 明示的なデータ型変換
Python では、組み込み関数を使用してデータ型を変換することができます。これを明示的な型変換(キャスト)と呼びます。
2.1 整数型への変換
整数型への変換は、int()
関数を使用します。文字列や浮動小数点数を整数に変換することができます。
例:
python# 浮動小数点数から整数への変換
x = 3.14
y = int(x) # 結果は 3
print(y)
# 文字列から整数への変換
z = "42"
w = int(z) # 結果は 42
print(w)
注意:浮動小数点数を整数に変換すると、小数点以下は切り捨てられます。
2.2 浮動小数点型への変換
浮動小数点型への変換は、float()
関数を使用します。整数や文字列を浮動小数点数に変換できます。
例:
python# 整数から浮動小数点数への変換
x = 5
y = float(x) # 結果は 5.0
print(y)
# 文字列から浮動小数点数への変換
z = "3.14159"
w = float(z) # 結果は 3.14159
print(w)
2.3 文字列型への変換
文字列型への変換は、str()
関数を使用します。整数や浮動小数点数を文字列に変換できます。
例:
python# 整数から文字列への変換
x = 42
y = str(x) # 結果は "42"
print(y)
# 浮動小数点数から文字列への変換
z = 3.14
w = str(z) # 結果は "3.14"
print(w)
2.4 リスト型への変換
リスト型への変換は、list()
関数を使用します。タプルや文字列などをリストに変換できます。
例:
python# タプルからリストへの変換
x = (1, 2, 3)
y = list(x) # 結果は [1, 2, 3]
print(y)
# 文字列からリストへの変換
z = "Python"
w = list(z) # 結果は ['P', 'y', 't', 'h', 'o', 'n']
print(w)
2.5 タプル型への変換
タプル型への変換は、tuple()
関数を使用します。リストや文字列をタプルに変換できます。
例:
python# リストからタプルへの変換
x = [1, 2, 3]
y = tuple(x) # 結果は (1, 2, 3)
print(y)
# 文字列からタプルへの変換
z = "ABC"
w = tuple(z) # 結果は ('A', 'B', 'C')
print(w)
2.6 辞書型への変換
辞書型への変換は、dict()
関数を使用します。リストのタプルペアを辞書に変換できます。
例:
python# リストから辞書への変換
x = [("name", "Alice"), ("age", 25)]
y = dict(x) # 結果は {'name': 'Alice', 'age': 25}
print(y)
3. 暗黙的なデータ型変換
Python では、異なる型同士を演算する際に、自動的にデータ型が変換されることがあります。これを暗黙的な型変換または型の昇格と呼びます。
例えば、整数と浮動小数点数を足し合わせると、結果は浮動小数点数になります。
例:
pythonx = 5 # 整数
y = 3.14 # 浮動小数点数
z = x + y # 結果は浮動小数点数 8.14
print(z)
この場合、整数 x
は浮動小数点数に変換され、演算が行われます。
4. 型変換の注意点
-
不正な変換:例えば、文字列
"abc"
を整数に変換しようとするとエラーが発生します。pythonx = "abc" y = int(x) # ValueError: invalid literal for int() with base 10: 'abc'
-
型の互換性:データ型によっては変換ができない場合もあります。例えば、リストを直接辞書に変換することはできません。
5. 結論
Python 3 では、さまざまな組み込み関数を使用してデータ型を簡単に変換することができます。データ型の変換は、異なる型のデータを扱う上で非常に重要です。明示的な型変換と暗黙的な型変換を使い分けることで、効率的なプログラミングが可能となります。