出于某种原因,这段代码作为一个问题:
from typing import *
T = TypeVar("T", bound="Foo")
S = TypeVar("S")
class Foo(Generic[S]):
@classmethod
def func(cls: Type[T]) -> T:
return cls()
Mypy linter把我送到def func
线,说Unsupported type Type["T"]
.如果未将Foo
定义为泛型类,则不会发生这种情况。
这是一个错误吗?我做错了什么?
我正在将S
用于不同的方法,我希望稍后在Foo
的子类中使用T
和Type[T]
。
我相信这是mypy中的一个错误。不幸的是,目前最好的解决方法是只在该行中添加一个# type: ignore
注释,也许还有指向相关问题的链接。稍后,您可以通过使用--warn-unused-ignores
标志运行 mypy 来检查该警告是否已修复。