PaperSize()
Special typing form to define literal types (a.k.a. value types).
Usage
PaperSize(
self,
*parameters,
)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.