用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。