MetaAttribute#

class astropy.utils.metadata.MetaAttribute(default=None)[源代码]#

基类:object

用于定义存储在对象中的自定义属性的描述符 meta dict和可以有一个已定义的默认值。

此描述符旨在提供一种方便的方法,将属性添加到复杂类的子类中,例如 TableNDData .

这要求对象具有属性 meta 它是一个类似dict的物体。MetaAttribute的值将存储在新的dict meta中 ['__attributes__'] 在需要时创建。

鼓励定义元属性的类支持通过类初始化属性 __init__ . 例如::

for attr in list(kwargs):
    descr = getattr(self.__class__, attr, None)
    if isinstance(descr, MetaAttribute):
        setattr(self, attr, kwargs.pop(attr))

A的名字 MetaAttribute 不能与以下任一项相同:

  • 所有者类中的关键字参数 __init__

  • “父类”的方法或属性,其中父类被视为 owner.__mro__[1] .

参数:

default -- 默认值