タプルは、Pythonのデータ構造の一つで、リストと同様に複数のデータをまとめて扱うことができますが、リストとは異なり、タプルは不変(immutable)です。つまり、一度作成したタプルの要素を変更することはできません。この特性を利用して、固定されたデータを安全に保存する方法について学びましょう。
タプルは、カンマで区切った値を丸括弧 ()
で囲むことで作成します。
# タプルの定義
my_tuple = (1, 2, 3, 'Python', True)
# タプルの内容を表示
print(my_tuple)
上記のコードでは、整数、文字列、ブール値を含むタプル my_tuple
を作成し、内容を表示しています。タプルは、異なるデータ型の要素を含むことができます。
タプルは不変であるため、定数の保存に適しています。たとえば、円周率や物理定数などの固定値をタプルとして保存することができます。
# 円周率をタプルに保存
PI = (3, 1, 4, 1, 5, 9)
# タプルの内容を表示
print("円周率の数値:", PI)
この例では、円周率の一部をタプル PI
に保存しています。これにより、値を変更することができず、誤って変更してしまうリスクを減らせます。
タプルは、複数の値を一度に返す必要がある関数の戻り値としても便利です。
# 二つの数の合計と差を返す関数
def compute(a, b):
return (a + b, a - b)
# 関数の呼び出し
result = compute(10, 5)
# 結果を表示
print("合計:", result[0])
print("差:", result[1])
このコードでは、compute
関数が合計と差をタプルとして返しています。関数の戻り値がタプルであるため、複数の値を簡潔に返すことができます。
タプルを使って固定されたデータの構造を作成することができます。たとえば、座標やRGBカラーなどをタプルで表現することができます。
# 2D座標をタプルで表現
point = (10, 20)
# RGBカラーをタプルで表現
color = (255, 0, 0) # 赤色
# 内容を表示
print("座標:", point)
print("カラー (RGB):", color)
この例では、2D座標やRGBカラーをタプルで保存しています。これにより、データを一つのオブジェクトとして扱い、簡潔に管理できます。
タプルは不変ですが、タプル内にリストなどの可変オブジェクトが含まれている場合、その可変オブジェクトの内容は変更可能です。この特性に注意しましょう。
# タプル内にリストを含む
my_tuple_with_list = (1, 2, [3, 4])
# リストの内容を変更
my_tuple_with_list[2].append(5)
# 内容を表示
print("タプル内のリスト:", my_tuple_with_list[2])
このコードでは、タプル内にリストを含めています。リスト自体は可変であるため、タプル内のリストの内容を変更することができます。このような場合、タプルの不変性は保たれませんので注意が必要です。
タプルは固定されたデータを安全に保存するための強力なデータ構造です。定数の保存、関数の戻り値、データの構造化など、さまざまな場面で活用できます。タプルの特性を理解し、適切に利用していきましょう。