我不确定是否类指针在python中是正确的术语,但我正在寻找在这个极简主义的例子中适当的类型提示:
class AnotherClass:
some_var=5
class SomeClass:
def some_function(self, model: AnotherClass) -> AnotherClass:
return model()
当我用mypy对上面的代码片段进行类型检查时,会抛出以下错误:
some_dir/some_file.py:6: error: "AnotherClass"没有可调用
:在这种情况下,模型参数的适当类型提示是什么?
下面删除了mypy错误,但它似乎不正确。
def some_function(self, model: Callable[..., AnotherClass]) -> AnotherClass:
return model()
我相信你想要的是Type[AnotherClass]
,因为你传递的是类本身,而不是那个类的实例。
用C注释的变量可以接受C类型的值。相反,用type [C]注释的变量可以接受类本身的值——具体来说,它将接受C的类对象。