python - Python打字如何描述类型
问题描述
我想为“工厂函数”定义一个签名,它有一个参数作为类型描述符,返回值是适合这种类型的实例。
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
,但到目前为止我找不到???
类型描述符的正确构造
解决方案
推荐阅读
- python - ImportError: 'Reader' 无法从意外中导入
- android - 如何在键盘模式下更改“MaterialDatePicker”的颜色以及是否可以在 Android 中隐藏该模式?
- python - 为什么 pandas value_counts() 显示某些值的计数为零?
- reactjs - 如何检查/更改 React 按钮中的文本?
- pandas - 循环问题的 Matplotlib 图
- amazon-web-services - AWS Cloudwatch 日志指标 FilterPattern on XML 文本
- powerbi - PowerBI Embedded - 格式在渲染时消失
- python - 字段计算器和 Python 3 字符串重分类警告
- android - Kotlin 中 addTextChangedListener(TextWatcher) 无限循环上的 EditText settext
- pytorch - Pytorch nn.Embedding 中未更新权重