名前付きタプルは、名前付き属性を提供することでタプルの使いやすさを向上させる軽量で作成が簡単なオブジェクト型です。その使用法と通常のタプルとの比較を詳しく見てみましょう。
名前付きタプルを作成するには、collections.namedtuple ファクトリ関数を使用します。たとえば、ポイントの名前付きタプルを定義するには:
from collections import namedtuple Point = namedtuple('Point', 'x y')
この名前付きタプルのインスタンスは通常のタプルと同じように作成できます:
pt1 = Point(1.0, 5.0) pt2 = Point(2.5, 1.5)
名前付きタプルを使用する利点は、次の場合に明白になります。属性の参照:
line_length = sqrt((pt1.x - pt2.x)**2 + (pt1.y - pt2.y)**2) # Object-like syntax
名前付きタプルが推奨されます場合:
名前付きタプルは、不変クラスをフィールドのみに置き換えることもできます。これらは、カスタム名前付きタプルの基本クラスとしても機能します。
class Point(namedtuple('Point', 'x y')): [...] # Define additional methods
Python には、「名前付きリスト」に相当する組み込みのクラスはありません。ただし、変更可能なレコード タイプの場合は、属性に新しい値を設定できるレシピまたはサードパーティ モジュールが存在します。
from rcdtype import recordtype Point = recordtype('Point', 'x y') pt1 = Point(1.0, 5.0) pt1.x = 2.0 # Mutable!
名前付きタプルは、pt1._asdict() を使用して辞書のように操作でき、簡単にアクセスできます。
名前付きタプルは、 Python は、読みやすさ、型チェック、カスタマイズ性の向上を実現しながら、データを表現するクリーンで直感的な方法を提供します。単純な値の型を扱う場合でも、複雑なレコード構造を扱う場合でも、名前付きタプルを使用すると、コードの効率と明瞭さが向上します。
以上がPython の名前付きタプルとは何ですか?通常のタプルとどう違うのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。