bpo-41810: Reintroduce `types.EllipsisType`, `.NoneType` & `.NotImplementedType` (GH-22336)
closes issue 41810
diff --git a/Doc/library/constants.rst b/Doc/library/constants.rst
index f17e1a3..38dd552 100644
--- a/Doc/library/constants.rst
+++ b/Doc/library/constants.rst
@@ -19,19 +19,21 @@
.. data:: None
- The sole value of the type ``NoneType``. ``None`` is frequently used to
- represent the absence of a value, as when default arguments are not passed to a
- function. Assignments to ``None`` are illegal and raise a :exc:`SyntaxError`.
+ An object frequently used to represent the absence of a value, as when
+ default arguments are not passed to a function. Assignments to ``None``
+ are illegal and raise a :exc:`SyntaxError`.
+ ``None`` is the sole instance of the :data:`NoneType` type.
.. data:: NotImplemented
- Special value which should be returned by the binary special methods
+ A special value which should be returned by the binary special methods
(e.g. :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`,
etc.) to indicate that the operation is not implemented with respect to
the other type; may be returned by the in-place binary special methods
(e.g. :meth:`__imul__`, :meth:`__iand__`, etc.) for the same purpose.
It should not be evaluated in a boolean context.
+ ``NotImplemented`` is the sole instance of the :data:`types.NotImplementedType` type.
.. note::
@@ -59,8 +61,9 @@
.. index:: single: ...; ellipsis literal
.. data:: Ellipsis
- The same as the ellipsis literal "``...``". Special value used mostly in conjunction
+ The same as the ellipsis literal "``...``". Special value used mostly in conjunction
with extended slicing syntax for user-defined container data types.
+ ``Ellipsis`` is the sole instance of the :data:`types.EllipsisType` type.
.. data:: __debug__
diff --git a/Doc/library/types.rst b/Doc/library/types.rst
index 79acdf4..25fa750 100644
--- a/Doc/library/types.rst
+++ b/Doc/library/types.rst
@@ -103,6 +103,13 @@
Standard names are defined for the following types:
+.. data:: NoneType
+
+ The type of :data:`None`.
+
+ .. versionadded:: 3.10
+
+
.. data:: FunctionType
LambdaType
@@ -186,6 +193,13 @@
.. versionadded:: 3.7
+.. data:: NotImplementedType
+
+ The type of :data:`NotImplemented`.
+
+ .. versionadded:: 3.10
+
+
.. data:: MethodDescriptorType
The type of methods of some built-in data types such as :meth:`str.join`.
@@ -236,6 +250,13 @@
Defaults to ``None``. Previously the attribute was optional.
+.. data:: EllipsisType
+
+ The type of :data:`Ellipsis`.
+
+ .. versionadded:: 3.10
+
+
.. class:: TracebackType(tb_next, tb_frame, tb_lasti, tb_lineno)
The type of traceback objects such as found in ``sys.exc_info()[2]``.