collections#
namedtuple#
以下は簡単な例です。 namedtuple 関数の第一引数にクラス名、第二引数に属性名のタプルを実引数に渡せば、 immutable なクラスが返されます。
from collections import namedtuple
Menu = namedtuple('Menu', ['a', 'b'])
menu = Menu("coffee","Latte")
print(menu.a) # coffee
menu.a = "Milk" # AttributeError
名前付きタプルはcsv --- CSV ファイルの読み書き や sqlite3 モジュールが 返すタプルのフィールドに名前を付けるときにとても便利です