用法:
typing.get_type_hints(obj, globalns=None, localns=None, include_extras=False)
返回包含函数、方法、模块或类对象的类型提示的字典。
这通常与
obj.__annotations__
相同。此外,编码为字符串文字的前向引用是通过在globals
和locals
命名空间中评估它们来处理的。如有必要,如果设置了等于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 typing.get_origin用法及代码示例
- Python typing.Concatenate用法及代码示例
- Python typing.Optional用法及代码示例
- Python typing.Final用法及代码示例
- Python typing.TypedDict.__optional_keys__用法及代码示例
- Python typing.Protocol用法及代码示例
- Python typing.NoReturn用法及代码示例
- Python typing.TypedDict.__total__用法及代码示例
- Python typing.is_typeddict用法及代码示例
- Python typing.TypeVar用法及代码示例
- Python typing.AsyncGenerator用法及代码示例
- Python typing.final用法及代码示例
- Python typing.ClassVar用法及代码示例
- Python typing.ParamSpec用法及代码示例
- Python typing.Literal用法及代码示例
- Python typing.overload用法及代码示例
- Python typing.TYPE_CHECKING用法及代码示例
- Python typing.TypedDict用法及代码示例
- Python typing.List用法及代码示例
- Python typing.Generic用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 typing.get_type_hints。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。