mirror of https://github.com/python/cpython.git
More reorganisation of the typing docs (#105787)
This commit is contained in:
parent
006a453205
commit
da911a6b22
|
@ -2433,6 +2433,18 @@ These protocols are decorated with :func:`runtime_checkable`.
|
|||
An ABC with one abstract method ``__round__``
|
||||
that is covariant in its return type.
|
||||
|
||||
ABCs for working with IO
|
||||
------------------------
|
||||
|
||||
.. class:: IO
|
||||
TextIO
|
||||
BinaryIO
|
||||
|
||||
Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])``
|
||||
and ``BinaryIO(IO[bytes])``
|
||||
represent the types of I/O streams such as returned by
|
||||
:func:`open`.
|
||||
|
||||
Functions and decorators
|
||||
------------------------
|
||||
|
||||
|
@ -3052,11 +3064,15 @@ Constant
|
|||
|
||||
.. versionadded:: 3.5.2
|
||||
|
||||
Generic concrete collections
|
||||
----------------------------
|
||||
.. _generic-concrete-collections:
|
||||
|
||||
Corresponding to built-in types
|
||||
"""""""""""""""""""""""""""""""
|
||||
Deprecated aliases
|
||||
------------------
|
||||
|
||||
.. _corresponding-to-built-in-types:
|
||||
|
||||
Aliases to built-in types
|
||||
"""""""""""""""""""""""""
|
||||
|
||||
.. class:: Dict(dict, MutableMapping[KT, VT])
|
||||
|
||||
|
@ -3118,8 +3134,10 @@ Corresponding to built-in types
|
|||
|
||||
.. note:: :data:`Tuple` is a special form.
|
||||
|
||||
Corresponding to types in :mod:`collections`
|
||||
""""""""""""""""""""""""""""""""""""""""""""
|
||||
.. _corresponding-to-types-in-collections:
|
||||
|
||||
Aliases to types in :mod:`collections`
|
||||
""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
.. class:: DefaultDict(collections.defaultdict, MutableMapping[KT, VT])
|
||||
|
||||
|
@ -3174,17 +3192,10 @@ Corresponding to types in :mod:`collections`
|
|||
:class:`collections.deque` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
Other concrete types
|
||||
""""""""""""""""""""
|
||||
.. _other-concrete-types:
|
||||
|
||||
.. class:: IO
|
||||
TextIO
|
||||
BinaryIO
|
||||
|
||||
Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])``
|
||||
and ``BinaryIO(IO[bytes])``
|
||||
represent the types of I/O streams such as returned by
|
||||
:func:`open`.
|
||||
Aliases to other concrete types
|
||||
"""""""""""""""""""""""""""""""
|
||||
|
||||
.. class:: Pattern
|
||||
Match
|
||||
|
@ -3223,11 +3234,11 @@ Other concrete types
|
|||
currently planned, but users are encouraged to use
|
||||
:class:`str` instead of ``Text``.
|
||||
|
||||
Abstract Base Classes
|
||||
---------------------
|
||||
.. _abstract-base-classes:
|
||||
.. _corresponding-to-collections-in-collections-abc:
|
||||
|
||||
Corresponding to collections in :mod:`collections.abc`
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
Aliases to container ABCs in :mod:`collections.abc`
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
.. class:: AbstractSet(Collection[T_co])
|
||||
|
||||
|
@ -3342,87 +3353,11 @@ Corresponding to collections in :mod:`collections.abc`
|
|||
:class:`collections.abc.ValuesView` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
Corresponding to other types in :mod:`collections.abc`
|
||||
.. _asynchronous-programming:
|
||||
|
||||
Aliases to asynchronous ABCs in :mod:`collections.abc`
|
||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
.. class:: Iterable(Generic[T_co])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Iterable`.
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Iterable` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Iterator(Iterable[T_co])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Iterator`.
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Iterator` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Generator(Iterator[YieldType], Generic[YieldType, SendType, ReturnType])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Generator`.
|
||||
|
||||
A generator can be annotated by the generic type
|
||||
``Generator[YieldType, SendType, ReturnType]``. For example::
|
||||
|
||||
def echo_round() -> Generator[int, float, str]:
|
||||
sent = yield 0
|
||||
while sent >= 0:
|
||||
sent = yield round(sent)
|
||||
return 'Done'
|
||||
|
||||
Note that unlike many other generics in the typing module, the ``SendType``
|
||||
of :class:`Generator` behaves contravariantly, not covariantly or
|
||||
invariantly.
|
||||
|
||||
If your generator will only yield values, set the ``SendType`` and
|
||||
``ReturnType`` to ``None``::
|
||||
|
||||
def infinite_stream(start: int) -> Generator[int, None, None]:
|
||||
while True:
|
||||
yield start
|
||||
start += 1
|
||||
|
||||
Alternatively, annotate your generator as having a return type of
|
||||
either ``Iterable[YieldType]`` or ``Iterator[YieldType]``::
|
||||
|
||||
def infinite_stream(start: int) -> Iterator[int]:
|
||||
while True:
|
||||
yield start
|
||||
start += 1
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Generator` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Hashable
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Hashable`.
|
||||
|
||||
.. deprecated:: 3.12
|
||||
Use :class:`collections.abc.Hashable` directly instead.
|
||||
|
||||
.. class:: Reversible(Iterable[T_co])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Reversible`.
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Reversible` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Sized
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Sized`.
|
||||
|
||||
.. deprecated:: 3.12
|
||||
Use :class:`collections.abc.Sized` directly instead.
|
||||
|
||||
Asynchronous programming
|
||||
""""""""""""""""""""""""
|
||||
|
||||
.. class:: Coroutine(Awaitable[ReturnType], Generic[YieldType, SendType, ReturnType])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Coroutine`.
|
||||
|
@ -3512,9 +3447,90 @@ Asynchronous programming
|
|||
:class:`collections.abc.Awaitable` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. _corresponding-to-other-types-in-collections-abc:
|
||||
|
||||
Context manager types
|
||||
"""""""""""""""""""""
|
||||
Aliases to other ABCs in :mod:`collections.abc`
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
.. class:: Iterable(Generic[T_co])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Iterable`.
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Iterable` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Iterator(Iterable[T_co])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Iterator`.
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Iterator` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Generator(Iterator[YieldType], Generic[YieldType, SendType, ReturnType])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Generator`.
|
||||
|
||||
A generator can be annotated by the generic type
|
||||
``Generator[YieldType, SendType, ReturnType]``. For example::
|
||||
|
||||
def echo_round() -> Generator[int, float, str]:
|
||||
sent = yield 0
|
||||
while sent >= 0:
|
||||
sent = yield round(sent)
|
||||
return 'Done'
|
||||
|
||||
Note that unlike many other generics in the typing module, the ``SendType``
|
||||
of :class:`Generator` behaves contravariantly, not covariantly or
|
||||
invariantly.
|
||||
|
||||
If your generator will only yield values, set the ``SendType`` and
|
||||
``ReturnType`` to ``None``::
|
||||
|
||||
def infinite_stream(start: int) -> Generator[int, None, None]:
|
||||
while True:
|
||||
yield start
|
||||
start += 1
|
||||
|
||||
Alternatively, annotate your generator as having a return type of
|
||||
either ``Iterable[YieldType]`` or ``Iterator[YieldType]``::
|
||||
|
||||
def infinite_stream(start: int) -> Iterator[int]:
|
||||
while True:
|
||||
yield start
|
||||
start += 1
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Generator` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Hashable
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Hashable`.
|
||||
|
||||
.. deprecated:: 3.12
|
||||
Use :class:`collections.abc.Hashable` directly instead.
|
||||
|
||||
.. class:: Reversible(Iterable[T_co])
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Reversible`.
|
||||
|
||||
.. deprecated:: 3.9
|
||||
:class:`collections.abc.Reversible` now supports subscripting (``[]``).
|
||||
See :pep:`585` and :ref:`types-genericalias`.
|
||||
|
||||
.. class:: Sized
|
||||
|
||||
Deprecated alias to :class:`collections.abc.Sized`.
|
||||
|
||||
.. deprecated:: 3.12
|
||||
Use :class:`collections.abc.Sized` directly instead.
|
||||
|
||||
.. _context-manager-types:
|
||||
|
||||
Aliases to :mod:`contextlib` ABCs
|
||||
"""""""""""""""""""""""""""""""""
|
||||
|
||||
.. class:: ContextManager(Generic[T_co])
|
||||
|
||||
|
|
Loading…
Reference in New Issue