mirror of
https://github.com/python/cpython.git
synced 2025-12-04 08:34:25 +00:00
bpo-39572: Document ’total’ flag of TypedDict (GH-18554)
This commit is contained in:
parent
a4ba8a3983
commit
ab6423fe2d
3 changed files with 29 additions and 3 deletions
|
|
@ -996,8 +996,20 @@ The module defines the following classes, functions and decorators:
|
||||||
Point2D = TypedDict('Point2D', x=int, y=int, label=str)
|
Point2D = TypedDict('Point2D', x=int, y=int, label=str)
|
||||||
Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
|
Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
|
||||||
|
|
||||||
See :pep:`589` for more examples and detailed rules of using ``TypedDict``
|
By default, all keys must be present in a TypedDict. It is possible
|
||||||
with type checkers.
|
to override this by specifying totality.
|
||||||
|
Usage::
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
See :pep:`589` for more examples and detailed rules of using ``TypedDict``.
|
||||||
|
|
||||||
.. versionadded:: 3.8
|
.. versionadded:: 3.8
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ At large scale, the structure of the module is following:
|
||||||
* Public helper functions: get_type_hints, overload, cast, no_type_check,
|
* Public helper functions: get_type_hints, overload, cast, no_type_check,
|
||||||
no_type_check_decorator.
|
no_type_check_decorator.
|
||||||
* Generic aliases for collections.abc ABCs and few additional protocols.
|
* Generic aliases for collections.abc ABCs and few additional protocols.
|
||||||
* Special types: NewType, NamedTuple, TypedDict (may be added soon).
|
* Special types: NewType, NamedTuple, TypedDict.
|
||||||
* Wrapper submodules for re and io related types.
|
* Wrapper submodules for re and io related types.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -1885,6 +1885,19 @@ class TypedDict(dict, metaclass=_TypedDictMeta):
|
||||||
Point2D = TypedDict('Point2D', x=int, y=int, label=str)
|
Point2D = TypedDict('Point2D', x=int, y=int, label=str)
|
||||||
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.
|
||||||
|
Usage::
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
The class syntax is only supported in Python 3.6+, while two other
|
The class syntax is only supported in Python 3.6+, while two other
|
||||||
syntax forms work for Python 2.7 and 3.2+
|
syntax forms work for Python 2.7 and 3.2+
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Updated documentation of ``total`` flag of TypeDict.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue