Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitda911a6

Browse files
authored
More reorganisation of the typing docs (#105787)
1 parent006a453 commitda911a6

File tree

1 file changed

+117
-101
lines changed

1 file changed

+117
-101
lines changed

‎Doc/library/typing.rst

Lines changed: 117 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -2433,6 +2433,18 @@ These protocols are decorated with :func:`runtime_checkable`.
24332433
An ABC with one abstract method ``__round__``
24342434
that is covariant in its return type.
24352435

2436+
ABCs for working with IO
2437+
------------------------
2438+
2439+
..class::IO
2440+
TextIO
2441+
BinaryIO
2442+
2443+
Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])``
2444+
and ``BinaryIO(IO[bytes])``
2445+
represent the types of I/O streams such as returned by
2446+
:func:`open`.
2447+
24362448
Functions and decorators
24372449
------------------------
24382450

@@ -3052,11 +3064,15 @@ Constant
30523064

30533065
..versionadded::3.5.2
30543066

3055-
Generic concrete collections
3056-
----------------------------
3067+
.. _generic-concrete-collections:
30573068

3058-
Corresponding to built-in types
3059-
"""""""""""""""""""""""""""""""
3069+
Deprecated aliases
3070+
------------------
3071+
3072+
.. _corresponding-to-built-in-types:
3073+
3074+
Aliases to built-in types
3075+
"""""""""""""""""""""""""
30603076

30613077
..class::Dict(dict, MutableMapping[KT, VT])
30623078

@@ -3118,8 +3134,10 @@ Corresponding to built-in types
31183134

31193135
..note:::data:`Tuple` is a special form.
31203136

3121-
Corresponding to types in:mod:`collections`
3122-
""""""""""""""""""""""""""""""""""""""""""""
3137+
.. _corresponding-to-types-in-collections:
3138+
3139+
Aliases to types in:mod:`collections`
3140+
""""""""""""""""""""""""""""""""""""""
31233141

31243142
..class::DefaultDict(collections.defaultdict, MutableMapping[KT, VT])
31253143

@@ -3174,17 +3192,10 @@ Corresponding to types in :mod:`collections`
31743192
:class:`collections.deque` now supports subscripting (``[]``).
31753193
See:pep:`585` and:ref:`types-genericalias`.
31763194

3177-
Other concrete types
3178-
""""""""""""""""""""
3195+
.. _other-concrete-types:
31793196

3180-
..class::IO
3181-
TextIO
3182-
BinaryIO
3183-
3184-
Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])``
3185-
and ``BinaryIO(IO[bytes])``
3186-
represent the types of I/O streams such as returned by
3187-
:func:`open`.
3197+
Aliases to other concrete types
3198+
"""""""""""""""""""""""""""""""
31883199

31893200
..class::Pattern
31903201
Match
@@ -3223,11 +3234,11 @@ Other concrete types
32233234
currently planned, but users are encouraged to use
32243235
:class:`str` instead of ``Text``.
32253236

3226-
Abstract Base Classes
3227-
---------------------
3237+
.. _abstract-base-classes:
3238+
.. _corresponding-to-collections-in-collections-abc:
32283239

3229-
Corresponding tocollections in:mod:`collections.abc`
3230-
""""""""""""""""""""""""""""""""""""""""""""""""""""""
3240+
Aliases tocontainer ABCs in:mod:`collections.abc`
3241+
"""""""""""""""""""""""""""""""""""""""""""""""""""
32313242

32323243
..class::AbstractSet(Collection[T_co])
32333244

@@ -3342,86 +3353,10 @@ Corresponding to collections in :mod:`collections.abc`
33423353
:class:`collections.abc.ValuesView` now supports subscripting (``[]``).
33433354
See:pep:`585` and:ref:`types-genericalias`.
33443355

3345-
Corresponding to other types in:mod:`collections.abc`
3346-
""""""""""""""""""""""""""""""""""""""""""""""""""""""
3347-
3348-
..class::Iterable(Generic[T_co])
3349-
3350-
Deprecated alias to:class:`collections.abc.Iterable`.
3351-
3352-
..deprecated::3.9
3353-
:class:`collections.abc.Iterable` now supports subscripting (``[]``).
3354-
See:pep:`585` and:ref:`types-genericalias`.
3355-
3356-
..class::Iterator(Iterable[T_co])
3357-
3358-
Deprecated alias to:class:`collections.abc.Iterator`.
3359-
3360-
..deprecated::3.9
3361-
:class:`collections.abc.Iterator` now supports subscripting (``[]``).
3362-
See:pep:`585` and:ref:`types-genericalias`.
3363-
3364-
..class::Generator(Iterator[YieldType], Generic[YieldType, SendType, ReturnType])
3365-
3366-
Deprecated alias to:class:`collections.abc.Generator`.
3367-
3368-
A generator can be annotated by the generic type
3369-
``Generator[YieldType, SendType, ReturnType]``. For example::
3370-
3371-
def echo_round() -> Generator[int, float, str]:
3372-
sent = yield 0
3373-
while sent >= 0:
3374-
sent = yield round(sent)
3375-
return 'Done'
3376-
3377-
Note that unlike many other generics in the typing module, the ``SendType``
3378-
of:class:`Generator` behaves contravariantly, not covariantly or
3379-
invariantly.
3380-
3381-
If your generator will only yield values, set the ``SendType`` and
3382-
``ReturnType`` to ``None``::
3383-
3384-
def infinite_stream(start: int) -> Generator[int, None, None]:
3385-
while True:
3386-
yield start
3387-
start += 1
3388-
3389-
Alternatively, annotate your generator as having a return type of
3390-
either ``Iterable[YieldType]`` or ``Iterator[YieldType]``::
3391-
3392-
def infinite_stream(start: int) -> Iterator[int]:
3393-
while True:
3394-
yield start
3395-
start += 1
3396-
3397-
..deprecated::3.9
3398-
:class:`collections.abc.Generator` now supports subscripting (``[]``).
3399-
See:pep:`585` and:ref:`types-genericalias`.
3400-
3401-
..class::Hashable
3402-
3403-
Deprecated alias to:class:`collections.abc.Hashable`.
3404-
3405-
..deprecated::3.12
3406-
Use:class:`collections.abc.Hashable` directly instead.
3407-
3408-
..class::Reversible(Iterable[T_co])
3409-
3410-
Deprecated alias to:class:`collections.abc.Reversible`.
3356+
.. _asynchronous-programming:
34113357

3412-
..deprecated::3.9
3413-
:class:`collections.abc.Reversible` now supports subscripting (``[]``).
3414-
See:pep:`585` and:ref:`types-genericalias`.
3415-
3416-
..class::Sized
3417-
3418-
Deprecated alias to:class:`collections.abc.Sized`.
3419-
3420-
..deprecated::3.12
3421-
Use:class:`collections.abc.Sized` directly instead.
3422-
3423-
Asynchronous programming
3424-
""""""""""""""""""""""""
3358+
Aliases to asynchronous ABCs in:mod:`collections.abc`
3359+
""""""""""""""""""""""""""""""""""""""""""""""""""""""
34253360

34263361
..class::Coroutine(Awaitable[ReturnType], Generic[YieldType, SendType, ReturnType])
34273362

@@ -3512,9 +3447,90 @@ Asynchronous programming
35123447
:class:`collections.abc.Awaitable` now supports subscripting (``[]``).
35133448
See:pep:`585` and:ref:`types-genericalias`.
35143449

3450+
.. _corresponding-to-other-types-in-collections-abc:
3451+
3452+
Aliases to other ABCs in:mod:`collections.abc`
3453+
"""""""""""""""""""""""""""""""""""""""""""""""
3454+
3455+
..class::Iterable(Generic[T_co])
3456+
3457+
Deprecated alias to:class:`collections.abc.Iterable`.
3458+
3459+
..deprecated::3.9
3460+
:class:`collections.abc.Iterable` now supports subscripting (``[]``).
3461+
See:pep:`585` and:ref:`types-genericalias`.
3462+
3463+
..class::Iterator(Iterable[T_co])
3464+
3465+
Deprecated alias to:class:`collections.abc.Iterator`.
3466+
3467+
..deprecated::3.9
3468+
:class:`collections.abc.Iterator` now supports subscripting (``[]``).
3469+
See:pep:`585` and:ref:`types-genericalias`.
3470+
3471+
..class::Generator(Iterator[YieldType], Generic[YieldType, SendType, ReturnType])
3472+
3473+
Deprecated alias to:class:`collections.abc.Generator`.
3474+
3475+
A generator can be annotated by the generic type
3476+
``Generator[YieldType, SendType, ReturnType]``. For example::
3477+
3478+
def echo_round() -> Generator[int, float, str]:
3479+
sent = yield 0
3480+
while sent >= 0:
3481+
sent = yield round(sent)
3482+
return 'Done'
3483+
3484+
Note that unlike many other generics in the typing module, the ``SendType``
3485+
of:class:`Generator` behaves contravariantly, not covariantly or
3486+
invariantly.
3487+
3488+
If your generator will only yield values, set the ``SendType`` and
3489+
``ReturnType`` to ``None``::
3490+
3491+
def infinite_stream(start: int) -> Generator[int, None, None]:
3492+
while True:
3493+
yield start
3494+
start += 1
3495+
3496+
Alternatively, annotate your generator as having a return type of
3497+
either ``Iterable[YieldType]`` or ``Iterator[YieldType]``::
3498+
3499+
def infinite_stream(start: int) -> Iterator[int]:
3500+
while True:
3501+
yield start
3502+
start += 1
3503+
3504+
..deprecated::3.9
3505+
:class:`collections.abc.Generator` now supports subscripting (``[]``).
3506+
See:pep:`585` and:ref:`types-genericalias`.
3507+
3508+
..class::Hashable
3509+
3510+
Deprecated alias to:class:`collections.abc.Hashable`.
3511+
3512+
..deprecated::3.12
3513+
Use:class:`collections.abc.Hashable` directly instead.
3514+
3515+
..class::Reversible(Iterable[T_co])
3516+
3517+
Deprecated alias to:class:`collections.abc.Reversible`.
3518+
3519+
..deprecated::3.9
3520+
:class:`collections.abc.Reversible` now supports subscripting (``[]``).
3521+
See:pep:`585` and:ref:`types-genericalias`.
3522+
3523+
..class::Sized
3524+
3525+
Deprecated alias to:class:`collections.abc.Sized`.
3526+
3527+
..deprecated::3.12
3528+
Use:class:`collections.abc.Sized` directly instead.
3529+
3530+
.. _context-manager-types:
35153531

3516-
Context manager types
3517-
"""""""""""""""""""""
3532+
Aliases to:mod:`contextlib` ABCs
3533+
"""""""""""""""""""""""""""""""""
35183534

35193535
..class::ContextManager(Generic[T_co])
35203536

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp