MetaData#

class astropy.utils.metadata.MetaData(doc='', copy=True, *, default_factory=<class 'collections.OrderedDict'>)[源代码]#

基类:object

类的描述符 meta 财产。

可以将其设置为任何有效的 Mapping

参数:
docstr 可选可选的STR

类属性的文档。默认为 "" .

在 1.2 版本加入.

copybool 可选可选的布尔

如果 True 该值在设置前进行深度复制,否则保存为参考。缺省值为 True

在 1.2 版本加入.

default_factory : Callable [[] , Mapping ],可选的仅关键字可调用 [[] ,映射],可选的仅关键字

用于创建 meta 属性。这必须是返回 Mapping 对象。缺省值为 OrderedDict ,创建一个空的 OrderedDict

在 6.0 版本加入.

实例

MetaData 可用作描述符,以定义 meta 属性`。

>>> class Foo:
...     meta = MetaData()
...     def __init__(self, meta=None):
...         self.meta = meta

Foo 可以用一个 meta 争论。

>>> foo = Foo(meta={'a': 1, 'b': 2})
>>> foo.meta
{'a': 1, 'b': 2}

的默认值为 meta 是一个空洞的 OrderedDict 。这可以通过传递 None 发送到 meta 争论。

>>> foo = Foo()
>>> foo.meta
OrderedDict()

如果一个 OrderedDict 不是好的默认元数据类型,则 default_factory 关键字可用于将缺省值设置为不同 Mapping 类型,当定义类时。‘

>>> class Bar:
...     meta = MetaData(default_factory=dict)
...     def __init__(self, meta=None):
...         self.meta = meta
>>> Bar().meta
{}

当从类访问时 .meta 退货 None 因为元数据位于类的实例上,而不是类本身。

>>> print(Foo.meta)
None

属性摘要

default_factory 

属性文档

default_factory#