python打字如何描述类型

时间:2019-10-14 10:26:17

标签: python typing python-typing

我想为“工厂功能”定义一个签名,该签名具有一个参数作为类型描述符,而返回值就是适合该类型的实例。

import typing

T = typing.TypeVariable("T")
my_list = typing.List[str]

def a_factory(descriptor:???) -> T:
  pass

var = a_factory(my_list) #iferred type should be `my_list`, i.e. List[str]

这适用于使用typing.Type[T]的普通类型,IDE会使用以下签名正确重组变量类型

import typing

T = typing.TypeVariable("T")

def a_factory(descriptor:typing.Type[T]) -> T:
  pass

var = a_factory(str) #type is inferred as str properly

,但到目前为止,我在???中找不到类型描述符的正确构造

0 个答案:

没有答案