我有一个函数,它接受一个派生自NamedTuple并将其转换为模式的类。但是,当我在以下代码上运行 MyPy 时,它失败了Argument 1 to "to_schema" has incompatible type "Type[Foo]"; expected "Type[NamedTuple]"
from typing import NamedTuple, Type
def to_schema(named_tuple: Type[NamedTuple]):
pass
class Foo(NamedTuple):
pass
to_schema(Foo)
有没有办法正确键入代码以便使用 MyPy 进行类型检查?
编辑:Python 文档声明接受(https://docs.python.org/3/library/typing.html#typing.Type)Type[Foo]的任何子类。对于我们的数据模型中的实体,我有多个 , 子类,所以我正在寻找一种方法来以一种可以进行类型检查的方式注释函数。FooNamedTuple