問題一覧に戻る
上級高度なパターン
問題113: 名前付きタプル
名前付きタプル(namedtuple)は、フィールドに名前を持つタプルを作成する機能です。通常のタプルと同じく不変ですが、ドット記法で要素にアクセスでき、可読性が向上します。軽量なデータクラスの代替として使用でき、メモリ効率も良好です。
# 名前付きタプル
from collections import
# 名前付きタプルを定義
Point = ('Point', ['x', 'y'])
# 名前付きタプルを使用
p1 = Point(3, 4)
p2 = Point(x=5, y=12)
print(f"p1: x={p1.}, y={p1.}")
print(f"p2: x={p2[0]}, y={p2[1]}")
print(f"Distance: {(p2.x - p1.x)**2 + (p2.y - p1.y)**2}")