Где я могу импортировать «DataclassInstance» для проверки mypy? ⇐ Python
-
Гость
Где я могу импортировать «DataclassInstance» для проверки mypy?
Я использовал специально определенный DataclassProtocol для аннотации аргумента функции, которая принимает тип класса данных. Это было примерно так:
импортировать классы данных от ввода типа импорта класс DataclassProtocol(Протокол): """Тип аннотации для объекта типа класса данных.""" # https://stackoverflow.com/a/55240861/11501976 __dataclass_fields__: Дикт def f(dcls: Type[DataclassProtocol]): вернуть dataclasses.fields(dcls) Но недавняя проверка mypy завершилась неудачно с сообщением: ошибка: аргумент 1 для «полей» имеет несовместимый тип «тип[DataclassProtocol]»; ожидается "DataclassInstance | type[DataclassInstance]" [arg-type]
Кажется, теперь мне следует добавить аннотацию с помощью этого DataclassInstance, но я не могу понять, откуда я могу это импортировать. Где я могу его найти?
Я использовал специально определенный DataclassProtocol для аннотации аргумента функции, которая принимает тип класса данных. Это было примерно так:
импортировать классы данных от ввода типа импорта класс DataclassProtocol(Протокол): """Тип аннотации для объекта типа класса данных.""" # https://stackoverflow.com/a/55240861/11501976 __dataclass_fields__: Дикт def f(dcls: Type[DataclassProtocol]): вернуть dataclasses.fields(dcls) Но недавняя проверка mypy завершилась неудачно с сообщением: ошибка: аргумент 1 для «полей» имеет несовместимый тип «тип[DataclassProtocol]»; ожидается "DataclassInstance | type[DataclassInstance]" [arg-type]
Кажется, теперь мне следует добавить аннотацию с помощью этого DataclassInstance, но я не могу понять, откуда я могу это импортировать. Где я могу его найти?
Мобильная версия