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


Python typing.Literal用法及代碼示例


用法:

typing.Literal

一種類型,可用於向類型檢查器指示相應的變量或函數參數具有與提供的文字(或多個文字之一)等效的值。例如:

def validate_simple(data: Any) -> Literal[True]:  # always returns True
    ...

MODE = Literal['r', 'rb', 'w', 'wb']
def open_helper(file: str, mode: MODE) -> str:
    ...

open_helper('/some/path', 'r')  # Passes type check
open_helper('/other/path', 'typo')  # Error in type checker

Literal[...]不能被子類化。在運行時,允許將任意值作為類型參數Literal[...],但類型檢查器可能會施加限製。看PEP 586有關文字類型的更多詳細信息。

3.8 版中的新函數。

在 3.9.1 版中更改:Literal現在 de-duplicates 參數。平等比較Literal對象不再依賴於順序。Literal對象現在將引發TypeError如果它們的參數之一不是相等比較期間的異常可散列的.

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 typing.Literal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。