summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkj <28750310+Fidget-Spinner@users.noreply.github.com>2020-10-21 07:38:08 +0800
committerGitHub <noreply@github.com>2020-10-20 16:38:08 -0700
commit7cdf30fff39ea97f403b5472096349998d190e30 (patch)
treee050e285f1f90c671ca1f5dc089c61b9f9205cb0
parent2d55aa9e37c9c84f4f6a8135d0326da0bcd8f38b (diff)
downloadcpython-git-7cdf30fff39ea97f403b5472096349998d190e30.tar.gz
bpo-42010: [docs] Clarify subscription of types (GH-22822)
-rw-r--r--Doc/reference/expressions.rst15
-rw-r--r--Misc/NEWS.d/next/Documentation/2020-10-21-02-21-14.bpo-42010.76vJ0u.rst4
2 files changed, 17 insertions, 2 deletions
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index 81dd6fc860..938a9732f5 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -800,8 +800,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` "]"
@@ -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
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:
diff --git a/Misc/NEWS.d/next/Documentation/2020-10-21-02-21-14.bpo-42010.76vJ0u.rst b/Misc/NEWS.d/next/Documentation/2020-10-21-02-21-14.bpo-42010.76vJ0u.rst
new file mode 100644
index 0000000000..2a0cbf1075
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2020-10-21-02-21-14.bpo-42010.76vJ0u.rst
@@ -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.