装饰器,用于初始化数据类字段元数据

时间:2019-09-06 09:28:23

标签: python-3.7 python-decorators python-dataclasses

使用python3.7 dataclass,我可以编写如下内容:

class Foo:
    fuzz: int = field(default=0, metadata={'ns_unit': 'km'})
    bazz: str = field(default='', metadata={'ns_prefix': 'xx_', 'ns_other': 1})

这些元数据在其他地方使用。我想要的是一种使用装饰器设置元数据的方法,例如:

class Foo:
    @ns(unit='km')
    fuzz: int = 0
    @ns(prefix='xx_', other=1)
    bazz: str = field(default='')

我有可能实现吗?

0 个答案:

没有答案