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

This commit is contained in:
kj 2020-10-21 07:38:08 +08:00 committed by GitHub
parent 2d55aa9e37
commit 7cdf30fff3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 2 deletions

View File

@ -800,8 +800,8 @@ Subscriptions
object: dictionary object: dictionary
pair: sequence; item pair: sequence; item
A subscription selects an item of a sequence (string, tuple or list) or mapping Subscription of a sequence (string, tuple or list) or mapping (dictionary)
(dictionary) object: object usually selects an item from the collection:
.. productionlist:: python-grammar .. productionlist:: python-grammar
subscription: `primary` "[" `expression_list` "]" subscription: `primary` "[" `expression_list` "]"
@ -837,6 +837,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 A string's items are characters. A character is not a separate data type but a
string of exactly one character. 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: .. _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.