PythonのTuppleという名前のTuppleは、組み込みのタプルデータ型の拡張機能であり、タプルの要素に意味のある名前を付けることができます。他の言葉では、名付けられたタプルは属性のあるタプルです。それはクールではありませんか?
これらはコレクションモジュールの一部であり、シンプルで不変のクラスをより簡単な方法で定義する方法を提供します。
what、classes?
はい、クラス。
名前のタプルは本質的に不変のクラスです。
これが発生する魔法です。AngeneDtupleを使用して名前のタプルを作成すると、結果はタプル自体のインスタンスではなく、タプルから継承する動的に生成されたクラスです。繰り返しますが、クール!!これがどのように機能するか見てみましょう。
from collections import namedtuple P = namedtuple("Point", "x y")p = namedtuple( "point"、 "x y")を実行すると、Pointという名前の新しいクラスを作成しています(最初の引数で指定されているように)。
AngentTuple関数は、舞台裏のタイプを使用して、タプルから継承するPointという名前の新しいクラスを動的に作成します。この新しいクラスは、変数p。に保存されます。
およびクラスと同様に、タイプはタイプです。
> type(p)
クラス「タイプ」
> type(P) class 'type'
> class A: pass > type(A) class 'type'
コレクションからImport namedTupleから
p = namedtuple( "point"、 "x y")
p = p(1,2)
>印刷(タイプ(P))
クラス '__main __。ポイント'
from collections import namedtuple P = namedtuple("Point", "x y") p = P(1,2) > print(type(p)) class '__main__.Point'
> print(isinstance(p、tuple))
真実
> print(isinstance(p, tuple)) True
pは、namedtupleによって動的に生成されたクラスです。
タイプ名(ポイントと呼ばれるもの)と同じ名前を持つ名前を付けた名前の変数(私たちがPと呼んだもの)に名前を付けることは非常に一般的です:
コレクションからImport namedTupleから
point = namedtuple( "point"、 "x y")
from collections import namedtuple Point = namedtuple("Point", "x y")
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3