当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python typing.get_type_hints用法及代码示例


用法:

typing.get_type_hints(obj, globalns=None, localns=None, include_extras=False)

返回包含函数、方法、模块或类对象的类型提示的字典。

这通常与 obj.__annotations__ 相同。此外,编码为字符串文字的前向引用是通过在 globalslocals 命名空间中评估它们来处理的。如有必要,如果设置了等于 None 的默认值,则会为函数和方法注释添加 Optional[t]。对于类 C ,返回一个字典,该字典是通过将所有 __annotations__ 沿 C.__mro__ 以相反的顺序合并而成的。

该函数递归地将所有 Annotated[T, ...] 替换为 T ,除非 include_extras 设置为 True(有关更多信息,请参见 Annotated)。例如:

class Student(NamedTuple):
    name: Annotated[str, 'some marker']

get_type_hints(Student) == {'name': str}
get_type_hints(Student, include_extras=False) == {'name': str}
get_type_hints(Student, include_extras=True) == {
    'name': Annotated[str, 'some marker']
}

注意

typing.get_type_hints不适用于导入类型别名包括前向引用。启用注释的延迟评估( PEP 563) 可以消除对大多数前向引用的需要。

在 3.9 版中更改:添加include_extras参数作为一部分 PEP 593.

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 typing.get_type_hints。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。