當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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