summaryrefslogtreecommitdiffstats
path: root/Doc/library/typing.rst
diff options
context:
space:
mode:
authorPaul Bryan <pbryan@mperativ.io>2021-02-28 07:02:14 (GMT)
committerGitHub <noreply@github.com>2021-02-28 07:02:14 (GMT)
commit1e3c68246ee738b5ec5450b1eb39af2fca300cb9 (patch)
tree9cad04333d1b1a638921244ef2d6333fe9fa9546 /Doc/library/typing.rst
parentbf9de7ab24d9d7068645b202bc47146b9a4f2726 (diff)
downloadcpython-1e3c68246ee738b5ec5450b1eb39af2fca300cb9.zip
cpython-1e3c68246ee738b5ec5450b1eb39af2fca300cb9.tar.gz
cpython-1e3c68246ee738b5ec5450b1eb39af2fca300cb9.tar.bz2
bpo-43345: Enhance TypedDict documentation. (#24668)
Diffstat (limited to 'Doc/library/typing.rst')
-rw-r--r--Doc/library/typing.rst25
1 files changed, 13 insertions, 12 deletions
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index 7ef5b39..9696fd4 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -1247,26 +1247,28 @@ These are not used in annotations. They are building blocks for declaring types.
assert Point2D(x=1, y=2, label='first') == dict(x=1, y=2, label='first')
- The type info for introspection can be accessed via ``Point2D.__annotations__``
- and ``Point2D.__total__``. To allow using this feature with older versions
- of Python that do not support :pep:`526`, ``TypedDict`` supports two additional
- equivalent syntactic forms::
+ The type info for introspection can be accessed via ``Point2D.__annotations__``,
+ ``Point2D.__total__``, ``Point2D.__required_keys__``, and
+ ``Point2D.__optional_keys__``.
+ To allow using this feature with older versions of Python that do not
+ support :pep:`526`, ``TypedDict`` supports two additional equivalent
+ syntactic forms::
Point2D = TypedDict('Point2D', x=int, y=int, label=str)
Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
- By default, all keys must be present in a TypedDict. It is possible
- to override this by specifying totality.
+ By default, all keys must be present in a ``TypedDict``. It is possible to
+ override this by specifying totality.
Usage::
- class point2D(TypedDict, total=False):
+ class Point2D(TypedDict, total=False):
x: int
y: int
- This means that a point2D TypedDict can have any of the keys omitted. A type
- checker is only expected to support a literal False or True as the value of
- the total argument. True is the default, and makes all items defined in the
- class body be required.
+ This means that a ``Point2D`` ``TypedDict`` can have any of the keys
+ omitted. A type checker is only expected to support a literal ``False`` or
+ ``True`` as the value of the ``total`` argument. ``True`` is the default,
+ and makes all items defined in the class body required.
See :pep:`589` for more examples and detailed rules of using ``TypedDict``.
@@ -1980,4 +1982,3 @@ Constant
(see :pep:`563`).
.. versionadded:: 3.5.2
-