【发布时间】:2018-09-30 13:09:57
【问题描述】:
当数据类中有一个类型可以是任何类型的字段时,如何省略注释?
@dataclass
class Favs:
fav_number: int = 80085
fav_duck = object()
fav_word: str = 'potato'
似乎上面的代码实际上并没有为fav_duck 创建一个字段。它只是使它成为一个普通的旧类属性。
>>> Favs()
Favs(fav_number=80085, fav_word='potato')
>>> print(*Favs.__dataclass_fields__)
fav_number fav_word
>>> Favs.fav_duck
<object at 0x7fffea519850>
【问题讨论】:
-
dataclasses的替代品,属性为鸭子类型:attrs.org
标签: python annotations duck-typing python-3.7 python-dataclasses