[3.9] bpo-42010: [docs] Clarify subscription of types (GH-22822) (GH-22840)

(cherry picked from commit 7cdf30fff3)


Co-authored-by: kj <28750310+Fidget-Spinner@users.noreply.github.com>

Automerge-Triggered-By: GH:gvanrossum
This commit is contained in:
Miss Skeleton (bot) 2020-10-20 16:58:49 -07:00 committed by GitHub
parent 46130f8538
commit d05514ace6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View File

@ -796,8 +796,8 @@ Subscriptions
object: dictionary
pair: sequence; item
A subscription selects an item of a sequence (string, tuple or list) or mapping
(dictionary) object:
Subscription of a sequence (string, tuple or list) or mapping (dictionary)
object usually selects an item from the collection:
.. productionlist:: python-grammar
subscription: `primary` "[" `expression_list` "]"
@ -833,6 +833,17 @@ this method will need to explicitly add that support.
A string's items are characters. A character is not a separate data type but a
string of exactly one character.
..
At the time of writing this, there is no documentation for generic alias
or PEP 585. Thus the link currently points to PEP 585 itself.
Please change the link for generic alias to reference the correct
documentation once documentation for PEP 585 becomes available.
Subscription of certain :term:`classes <class>` or :term:`types <type>`
creates a `generic alias <https://www.python.org/dev/peps/pep-0585/>`_.
In this case, user-defined classes can support subscription by providing a
:meth:`__class_getitem__` classmethod.
.. _slicings:

View File

@ -0,0 +1,4 @@
Clarify that subscription expressions are also valid for certain
:term:`classes <class>` and :term:`types <type>` in the standard library, and
for user-defined classes and types if the classmethod
:meth:`__class_getitem__` is provided.