aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--Doc/library/typing.rst7
1 files changed, 6 insertions, 1 deletions
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index 0fee782121b..19b4081c993 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -2551,15 +2551,20 @@ types.
This functional syntax allows defining keys which are not valid
:ref:`identifiers <identifiers>`, for example because they are
- keywords or contain hyphens::
+ keywords or contain hyphens, or when key names must not be
+ :ref:`mangled <private-name-mangling>` like regular private names::
# raises SyntaxError
class Point2D(TypedDict):
in: int # 'in' is a keyword
x-y: int # name with hyphens
+ class Definition(TypedDict):
+ __schema: str # mangled to `_Definition__schema`
+
# OK, functional syntax
Point2D = TypedDict('Point2D', {'in': int, 'x-y': int})
+ Definition = TypedDict('Definition', {'__schema': str}) # not mangled
By default, all keys must be present in a ``TypedDict``. It is possible to
mark individual keys as non-required using :data:`NotRequired`::