- colour.hints.Literal = typing.Literal#
Special typing form to define literal types (a.k.a. value types).
This form can be used to indicate to type checkers that the corresponding variable or function parameter has a value equivalent to the provided literal (or one of several literals):
- 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[…] cannot be subclassed. At runtime, an arbitrary value is allowed as type argument to Literal[…], but type checkers may impose restrictions.