首页 > 解决方案 > 是否有关于 dataclass 属性 mypy 错误的解决方法?

问题描述

Mypy 使用此数据类继承产生错误:

import dataclasses
import datetime

import typing


@dataclasses.dataclass
class Crud:
    creation_datetime: typing.Optional[datetime.datetime] = dataclasses.field(init=False)

    def __post_init__(self) -> None:
        self.creation_datetime = getattr(self, "creation_datetime", datetime.datetime.utcnow())


@dataclasses.dataclass
class MyFoo(Crud):
    name: str
t.py:17: error: Attributes without a default cannot follow attributes with one

是否存在抑制此错误或以不同方式设计代码以避免 mypy 错误的方法?

标签: pythonmypy

解决方案


有关信息,可以通过以下方式避免此错误 # type: ignore

@dataclasses.dataclass
class MyFoo(Crud):
    name: str  # type: ignore

推荐阅读