我有一个带有可变字段(列表)的数据类。我希望实现的是该字段永远不会是 None,即使在 __init__ 调用中明确设置为 None 也是如此。在一个普通的类中,这将是微不足道的:
class A:
def __init__(self, l: Optional[List[int]] = None):
if l is None:
l = []
self.l = l
有没有办法只使用dataclasses.field函数来实现相同的结果,即不显式实现 __init__ 方法(当类有很多属性时会很麻烦)?default_factory
当提供的 init 参数为 None 时,我可以强制 dataclasses.field 调用它吗?