PythonのNamed Tupleの紹介
Pythonのcollectionsモジュールには、named tupleという便利なデータ型があります。これは、通常のタプルの機能に加えて、タプルの各要素に名前を付けることができる機能を持っています。これにより、コードの可読性が向上し、プログラムの保守性が高まります。
Named Tupleの基本的な使用方法
まずは、named tupleの定義から始めます。collectionsモジュールからnamedtuple関数をインポートし、新しいタプル型を定義します。以下の例では、従業員を表すためのnamed tupleを作成しています。
from collections import namedtuple Employee = namedtuple('Employee', ['name', 'age', 'department']) # Named tupleのインスタンスを作成 emp1 = Employee(name='山田太郎', age=30, department='営業部') print(emp1)
出力結果は以下のようになります。
Employee(name='山田太郎', age=30, department='営業部')
Named Tupleの要素へのアクセス方法
Named tupleの要素にアクセスするには、属性名を使用します。以下の例では、emp1の各属性にアクセスし、それを出力しています。
# 属性によるアクセス print(emp1.name) # 山田太郎 print(emp1.age) # 30 print(emp1.department) # 営業部
出力結果は以下のようになります。
山田太郎 30 営業部
Named Tupleの不変性
Named tupleは不変のデータ構造です。つまり、一度作成した後は、その内容を変更することはできません。以下の例では、named tupleの要素を変更しようとするとエラーが発生することを示しています。
try: emp1.age = 31 except AttributeError as e: print(e)
出力結果は以下のようになります。
"can't set attribute"
このように、named tupleを使用することで、プログラム内でデータの整合性を保ちながら、コードの可読性を高めることができます。データが変更不可であるため、予期せぬデータの変更を防ぐことができるのです。