Python 3における「named tuples」とは何ですか?

PYTHON3 チュートリアル

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を使用することで、プログラム内でデータの整合性を保ちながら、コードの可読性を高めることができます。データが変更不可であるため、予期せぬデータの変更を防ぐことができるのです。

購読
通知
0 Comments
Inline Feedbacks
View all comments