检索类型。List[X]类型

时间:2018-11-15 10:36:08

标签: python typing

对于以下键入:

import typing
foo: typing.List[int] = []

如何检索foo列表中的项目类型(通过类型提示)?结果必须为<class 'int'>

1 个答案:

答案 0 :(得分:1)

不确定您是否正在寻找类似的东西。

import sys
import typing

foo: typing.List[int] = []
foo_one: typing.Tuple[float] = ()

def _get_type_of_item(param):
    """
    typing.get_type_hints(obj[, globals[, locals]]):

    Return a dictionary containing type hints for a function, method, module or class object.
    """
    return typing.get_type_hints(sys.modules[__name__])[param].__args__


print(_get_type_of_item('foo')) # this will print (<class 'int'>,)
print(_get_type_of_item('foo_one')) # this will print (<class 'float'>,)