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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。