【发布时间】:2021-08-02 15:30:58
【问题描述】:
我想知道是否存在将类型提示的字符串表示形式(例如从文档字符串)转换回类型(或类型)对象的现有实现。因此,还应支持任意深度嵌套类型(参见第三个示例)。
import typing import List, Optional, Union
converter_function("List[str]") == List[str]
converter_function("int") == int
converter_function("Optional[List[Union[str, float]]]") == Optional[List[Union[str,float]]]
converter_function("foobar") # Exception / None
一种选择是简单地使用 eval,但我想不惜一切代价避免这种情况:D
编辑 作为我为什么要这样做的背景:我想编写一个脚本来检查文档字符串是否与函数 100% 匹配,所有类型是否正确等等。
【问题讨论】:
-
我不确定是否有这样的东西,但我很好奇你需要它的原因。你有具体的例子或用例吗? @g3n35i5
-
@KutayAslan 我已经更新了我的问题,希望能回答你的问题 :)
标签: python type-hinting docstring