MergeStrategy¶
- class astropy.utils.metadata.MergeStrategy[ソース]¶
ベースクラス:
object
左および右の2つのソースからのメタデータを単一の出力に統合するポリシーを定義するための基本クラスを定義する。
クラスの主な機能は
merge(cls, left, right)
種類の方法。これにはleft
そしてright
エンドパラメータは、単一のマージ出力に戻ります。1つ目のクラス属性は
types
それがそうです。これは、合成ポリシーを適用する入力タイプを示す(LEFT_TYPE、RIGHT_TYPE)タプルリストとして定義される。この統合ポリシーをペア(左、右)オブジェクトに適用するかどうかを決定する際には、テストを行う必要がある。isinstance(left, left_types) and isinstance(right, right_types)
それがそうです。例えば:types = [(np.ndarray, np.ndarray), # Two ndarrays (np.ndarray, (list, tuple)), # ndarray and (list or tuple) ((list, tuple), np.ndarray)] # (list or tuple) and ndarray
便宜上。
types
例えば、二値グループリストではなく、単一の二値グループとして定義することができるtypes = (np.ndarray, np.ndarray)
それがそうです。もう1つのクラス属性は
enabled
これは黙認していますFalse
基底類では。定義することでMergeStrategy
新しい統合ポリシーは、統合のために使用可能であるように自動的に登録される。ただし,デフォルトの場合,新たな統合ポリシーは 未起用 それがそうです。これは,メタデータ統合操作を実行している無関係なコードの振舞いを無意識に変更することを防ぐことができる.多くの場合(特に他の人が使用可能なライブラリコードでは)、カスタムポリシーを無効にし、使用することを提案します。
enable_merge_strategies
コンテキストマネージャは、ローカルで必要なポリシーを有効にする。しかし,新しい戦略に意外な行動が生じないと確信すれば,設定することで可能である.enabled
クラス属性はTrue
それがそうです。実例.
ここでは,左右にそれぞれ整型または浮動点型を採用し,この2つの値を含むリストを返すカスタマイズされた統合戦略を定義する.
>>> from astropy.utils.metadata import MergeStrategy >>> class MergeNumbersAsList(MergeStrategy): ... types = ((int, float), (int, float)) # (left_types, right_types) ... ... @classmethod ... def merge(cls, left, right): ... return [left, right]
属性要約
enabled
\属性文書
- enabled = False¶