mode.utils.typing
¶
Backport of typing
additions in Python 3.7.
-
class
mode.utils.typing.
AsyncContextManager
¶
-
class
mode.utils.typing.
AsyncGenerator
¶
-
class
mode.utils.typing.
ChainMap
(*maps)¶
-
class
mode.utils.typing.
Counter
(**kwds)¶
-
class
mode.utils.typing.
Deque
¶
-
class
mode.utils.typing.
Protocol
(*args, **kwargs)¶ Base class for protocol classes. Protocol classes are defined as:
class Proto(Protocol): def meth(self) -> int: ...
Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing), for example:
class C: def meth(self) -> int: return 0 def func(x: Proto) -> int: return x.meth() func(C()) # Passes static type check
See PEP 544 for details. Protocol classes decorated with @typing_extensions.runtime act as simple-minded runtime protocol that checks only the presence of given attributes, ignoring their type signatures.
Protocol classes can be generic, they are defined as:
class GenProto(Protocol[T]): def meth(self) -> T: ...