Python 3.12.1

This commit is contained in:
Thomas Wouters 2023-12-07 21:31:58 +01:00
parent c0fc88fa2f
commit 2305ca5144
155 changed files with 1939 additions and 571 deletions

View file

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Mon Oct 2 13:45:14 2023
# Autogenerated by Sphinx on Thu Dec 7 21:32:35 2023
# as part of the release process.
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
@ -864,19 +864,25 @@ topics = {'assert': 'The "assert" statement\n'
'*instance* of the\n'
' owner class.\n'
'\n'
'The attribute "__objclass__" is interpreted by the '
'"inspect" module as\n'
'specifying the class where this object was defined '
'Instances of descriptors may also have the '
'"__objclass__" attribute\n'
'present:\n'
'\n'
'object.__objclass__\n'
'\n'
' The attribute "__objclass__" is interpreted by the '
'"inspect" module\n'
' as specifying the class where this object was defined '
'(setting this\n'
'appropriately can assist in runtime introspection of '
' appropriately can assist in runtime introspection of '
'dynamic class\n'
'attributes). For callables, it may indicate that an '
' attributes). For callables, it may indicate that an '
'instance of the\n'
'given type (or a subclass) is expected or required as '
' given type (or a subclass) is expected or required as '
'the first\n'
'positional argument (for example, CPython sets this '
' positional argument (for example, CPython sets this '
'attribute for\n'
'unbound methods that are implemented in C).\n'
' unbound methods that are implemented in C).\n'
'\n'
'\n'
'Invoking Descriptors\n'
@ -1111,16 +1117,23 @@ topics = {'assert': 'The "assert" statement\n'
'attribute references, which most objects do. This '
'object is then\n'
'asked to produce the attribute whose name is the '
'identifier. This\n'
'production can be customized by overriding the '
'"__getattr__()" method.\n'
'If this attribute is not available, the exception '
'"AttributeError" is\n'
'raised. Otherwise, the type and value of the object '
'produced is\n'
'determined by the object. Multiple evaluations of '
'the same attribute\n'
'reference may yield different objects.\n',
'identifier. The type\n'
'and value produced is determined by the object. '
'Multiple evaluations\n'
'of the same attribute reference may yield different '
'objects.\n'
'\n'
'This production can be customized by overriding the\n'
'"__getattribute__()" method or the "__getattr__()" '
'method. The\n'
'"__getattribute__()" method is called first and '
'either returns a value\n'
'or raises "AttributeError" if the attribute is not '
'available.\n'
'\n'
'If an "AttributeError" is raised and the object has '
'a "__getattr__()"\n'
'method, that method is called as a fallback.\n',
'augassign': 'Augmented assignment statements\n'
'*******************************\n'
'\n'
@ -2812,18 +2825,19 @@ topics = {'assert': 'The "assert" statement\n'
' bindings made during a successful pattern match outlive the\n'
' executed block and can be used after the match statement**.\n'
'\n'
' Note:\n'
' Note:\n'
'\n'
' During failed pattern matches, some subpatterns may '
'succeed.\n'
' Do not rely on bindings being made for a failed match.\n'
' Conversely, do not rely on variables remaining unchanged '
'after\n'
' a failed match. The exact behavior is dependent on\n'
' implementation and may vary. This is an intentional '
'decision\n'
' made to allow different implementations to add '
'optimizations.\n'
' During failed pattern matches, some subpatterns may '
'succeed. Do\n'
' not rely on bindings being made for a failed match. '
'Conversely,\n'
' do not rely on variables remaining unchanged after a '
'failed\n'
' match. The exact behavior is dependent on implementation '
'and may\n'
' vary. This is an intentional decision made to allow '
'different\n'
' implementations to add optimizations.\n'
'\n'
'3. If the pattern succeeds, the corresponding guard (if present) '
'is\n'
@ -3475,9 +3489,10 @@ topics = {'assert': 'The "assert" statement\n'
'* convert "P1" to a keyword pattern using "CLS.__match_args__"\n'
'\n'
'* For each keyword argument "attr=P2":\n'
' * "hasattr(<subject>, "attr")"\n'
'\n'
' * "P2" matches "<subject>.attr"\n'
' * "hasattr(<subject>, "attr")"\n'
'\n'
' * "P2" matches "<subject>.attr"\n'
'\n'
'* … and so on for the corresponding keyword argument/pattern '
'pair.\n'
@ -4230,30 +4245,30 @@ topics = {'assert': 'The "assert" statement\n'
'[2] In pattern matching, a sequence is defined as one of the\n'
' following:\n'
'\n'
' * a class that inherits from "collections.abc.Sequence"\n'
' * a class that inherits from "collections.abc.Sequence"\n'
'\n'
' * a Python class that has been registered as\n'
' "collections.abc.Sequence"\n'
' * a Python class that has been registered as\n'
' "collections.abc.Sequence"\n'
'\n'
' * a builtin class that has its (CPython) '
'"Py_TPFLAGS_SEQUENCE"\n'
' bit set\n'
' * a builtin class that has its (CPython) '
'"Py_TPFLAGS_SEQUENCE" bit\n'
' set\n'
'\n'
' * a class that inherits from any of the above\n'
' * a class that inherits from any of the above\n'
'\n'
' The following standard library classes are sequences:\n'
'\n'
' * "array.array"\n'
' * "array.array"\n'
'\n'
' * "collections.deque"\n'
' * "collections.deque"\n'
'\n'
' * "list"\n'
' * "list"\n'
'\n'
' * "memoryview"\n'
' * "memoryview"\n'
'\n'
' * "range"\n'
' * "range"\n'
'\n'
' * "tuple"\n'
' * "tuple"\n'
'\n'
' Note:\n'
'\n'
@ -4264,16 +4279,16 @@ topics = {'assert': 'The "assert" statement\n'
'[3] In pattern matching, a mapping is defined as one of the '
'following:\n'
'\n'
' * a class that inherits from "collections.abc.Mapping"\n'
' * a class that inherits from "collections.abc.Mapping"\n'
'\n'
' * a Python class that has been registered as\n'
' "collections.abc.Mapping"\n'
' * a Python class that has been registered as\n'
' "collections.abc.Mapping"\n'
'\n'
' * a builtin class that has its (CPython) '
'"Py_TPFLAGS_MAPPING"\n'
' bit set\n'
' * a builtin class that has its (CPython) '
'"Py_TPFLAGS_MAPPING" bit\n'
' set\n'
'\n'
' * a class that inherits from any of the above\n'
' * a class that inherits from any of the above\n'
'\n'
' The standard library classes "dict" and '
'"types.MappingProxyType"\n'
@ -6487,18 +6502,17 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The grammar for a replacement field is as follows:\n'
'\n'
' replacement_field ::= "{" [field_name] ["!" '
'conversion] [":" format_spec] "}"\n'
' field_name ::= arg_name ("." attribute_name | '
'"[" element_index "]")*\n'
' arg_name ::= [identifier | digit+]\n'
' attribute_name ::= identifier\n'
' element_index ::= digit+ | index_string\n'
' index_string ::= <any source character except '
'"]"> +\n'
' conversion ::= "r" | "s" | "a"\n'
' format_spec ::= <described in the next '
'section>\n'
' replacement_field ::= "{" [field_name] ["!" conversion] '
'[":" format_spec] "}"\n'
' field_name ::= arg_name ("." attribute_name | "[" '
'element_index "]")*\n'
' arg_name ::= [identifier | digit+]\n'
' attribute_name ::= identifier\n'
' element_index ::= digit+ | index_string\n'
' index_string ::= <any source character except "]"> '
'+\n'
' conversion ::= "r" | "s" | "a"\n'
' format_spec ::= <described in the next section>\n'
'\n'
'In less formal terms, the replacement field can start with '
'a\n'
@ -6684,43 +6698,37 @@ topics = {'assert': 'The "assert" statement\n'
'The meaning of the various alignment options is as '
'follows:\n'
'\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | Option | '
'| Option | '
'Meaning '
'|\n'
' '
'|===========|============================================================|\n'
' | "\'<\'" | Forces the field to be left-aligned '
'within the available |\n'
' | | space (this is the default for most '
'| "\'<\'" | Forces the field to be left-aligned within '
'the available |\n'
'| | space (this is the default for most '
'objects). |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'>\'" | Forces the field to be right-aligned '
'within the available |\n'
' | | space (this is the default for '
'| "\'>\'" | Forces the field to be right-aligned within '
'the available |\n'
'| | space (this is the default for '
'numbers). |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'=\'" | Forces the padding to be placed after '
'the sign (if any) |\n'
' | | but before the digits. This is used for '
'| "\'=\'" | Forces the padding to be placed after the '
'sign (if any) |\n'
'| | but before the digits. This is used for '
'printing fields |\n'
' | | in the form +000000120. This alignment '
'| | in the form +000000120. This alignment '
'option is only |\n'
' | | valid for numeric types. It becomes the '
'| | valid for numeric types. It becomes the '
'default for |\n'
' | | numbers when 0 immediately precedes the '
'| | numbers when 0 immediately precedes the '
'field width. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'^\'" | Forces the field to be centered within '
'the available |\n'
' | | '
'| "\'^\'" | Forces the field to be centered within the '
'available |\n'
'| | '
'space. '
'|\n'
' '
'+-----------+------------------------------------------------------------+\n'
'\n'
'Note that unless a minimum field width is defined, the '
@ -6733,30 +6741,25 @@ topics = {'assert': 'The "assert" statement\n'
'be one of\n'
'the following:\n'
'\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | Option | '
'| Option | '
'Meaning '
'|\n'
' '
'|===========|============================================================|\n'
' | "\'+\'" | indicates that a sign should be used for '
'| "\'+\'" | indicates that a sign should be used for '
'both positive as |\n'
' | | well as negative '
'| | well as negative '
'numbers. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | "\'-\'" | indicates that a sign should be used '
'only for negative |\n'
' | | numbers (this is the default '
'| "\'-\'" | indicates that a sign should be used only '
'for negative |\n'
'| | numbers (this is the default '
'behavior). |\n'
' '
'+-----------+------------------------------------------------------------+\n'
' | space | indicates that a leading space should be '
'used on positive |\n'
' | | numbers, and a minus sign on negative '
'| space | indicates that a leading space should be used '
'on positive |\n'
'| | numbers, and a minus sign on negative '
'numbers. |\n'
' '
'+-----------+------------------------------------------------------------+\n'
'\n'
'The "\'z\'" option coerces negative zero floating-point '
@ -10438,19 +10441,25 @@ topics = {'assert': 'The "assert" statement\n'
'of the\n'
' owner class.\n'
'\n'
'The attribute "__objclass__" is interpreted by the "inspect" '
'module as\n'
'specifying the class where this object was defined (setting '
'this\n'
'appropriately can assist in runtime introspection of dynamic '
'class\n'
'attributes). For callables, it may indicate that an instance '
'of the\n'
'given type (or a subclass) is expected or required as the '
'Instances of descriptors may also have the "__objclass__" '
'attribute\n'
'present:\n'
'\n'
'object.__objclass__\n'
'\n'
' The attribute "__objclass__" is interpreted by the '
'"inspect" module\n'
' as specifying the class where this object was defined '
'(setting this\n'
' appropriately can assist in runtime introspection of '
'dynamic class\n'
' attributes). For callables, it may indicate that an '
'instance of the\n'
' given type (or a subclass) is expected or required as the '
'first\n'
'positional argument (for example, CPython sets this '
' positional argument (for example, CPython sets this '
'attribute for\n'
'unbound methods that are implemented in C).\n'
' unbound methods that are implemented in C).\n'
'\n'
'\n'
'Invoking Descriptors\n'
@ -13137,15 +13146,13 @@ topics = {'assert': 'The "assert" statement\n'
'bytes\n'
'literals.\n'
'\n'
' Changed in version 3.6: Unrecognized escape sequences produce '
'a\n'
' "DeprecationWarning".\n'
'Changed in version 3.6: Unrecognized escape sequences produce a\n'
'"DeprecationWarning".\n'
'\n'
' Changed in version 3.12: Unrecognized escape sequences produce '
'a\n'
' "SyntaxWarning". In a future Python version they will be '
'eventually\n'
' a "SyntaxError".\n'
'Changed in version 3.12: Unrecognized escape sequences produce a\n'
'"SyntaxWarning". In a future Python version they will be '
'eventually a\n'
'"SyntaxError".\n'
'\n'
'Even in a raw literal, quotes can be escaped with a backslash, '
'but the\n'
@ -14431,43 +14438,106 @@ topics = {'assert': 'The "assert" statement\n'
'code objects are immutable and contain no references (directly or\n'
'indirectly) to mutable objects.\n'
'\n'
'Special read-only attributes: "co_name" gives the function name;\n'
'"co_qualname" gives the fully qualified function name; '
'"co_argcount"\n'
'is the total number of positional arguments (including '
'positional-only\n'
'arguments and arguments with default values); "co_posonlyargcount" '
'is\n'
'the number of positional-only arguments (including arguments with\n'
'default values); "co_kwonlyargcount" is the number of keyword-only\n'
'arguments (including arguments with default values); "co_nlocals" '
'is\n'
'the number of local variables used by the function (including\n'
'arguments); "co_varnames" is a tuple containing the names of the '
'local\n'
'variables (starting with the argument names); "co_cellvars" is a '
'tuple\n'
'containing the names of local variables that are referenced by '
'nested\n'
'functions; "co_freevars" is a tuple containing the names of free\n'
'variables; "co_code" is a string representing the sequence of '
'bytecode\n'
'instructions; "co_consts" is a tuple containing the literals used '
'by\n'
'the bytecode; "co_names" is a tuple containing the names used by '
'the\n'
'bytecode; "co_filename" is the filename from which the code was\n'
'compiled; "co_firstlineno" is the first line number of the '
'function;\n'
'"co_lnotab" is a string encoding the mapping from bytecode offsets '
'to\n'
'line numbers (for details see the source code of the interpreter, '
'is\n'
'deprecated since 3.12 and may be removed in 3.14); "co_stacksize" '
'is\n'
'the required stack size; "co_flags" is an integer encoding a number '
'of\n'
'flags for the interpreter.\n'
'\n'
'Special read-only attributes\n'
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
'\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_name | The function '
'name |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_qualname | The fully '
'qualified function name |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_argcount | The total '
'number of positional *parameters* |\n'
'| | (including '
'positional-only parameters and |\n'
'| | parameters '
'with default values) that the function |\n'
'| | '
'has |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_posonlyargcount | The number '
'of positional-only *parameters* |\n'
'| | (including '
'arguments with default values) that the |\n'
'| | function '
'has |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_kwonlyargcount | The number '
'of keyword-only *parameters* (including |\n'
'| | arguments '
'with default values) that the function |\n'
'| | '
'has |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_nlocals | The number '
'of local variables used by the function |\n'
'| | (including '
'parameters) |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_varnames | A "tuple" '
'containing the names of the local |\n'
'| | variables in '
'the function (starting with the |\n'
'| | parameter '
'names) |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_cellvars | A "tuple" '
'containing the names of local variables |\n'
'| | that are '
'referenced by nested functions inside the |\n'
'| | '
'function |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_freevars | A "tuple" '
'containing the names of free variables |\n'
'| | in the '
'function |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_code | A string '
'representing the sequence of *bytecode* |\n'
'| | instructions '
'in the function |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_consts | A "tuple" '
'containing the literals used by the |\n'
'| | *bytecode* '
'in the function |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_names | A "tuple" '
'containing the names used by the |\n'
'| | *bytecode* '
'in the function |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_filename | The name of '
'the file from which the code was |\n'
'| | '
'compiled |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_firstlineno | The line '
'number of the first line of the function |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_lnotab | A string '
'encoding the mapping from *bytecode* |\n'
'| | offsets to '
'line numbers. For details, see the |\n'
'| | source code '
'of the interpreter. Deprecated since |\n'
'| | version '
'3.12: This attribute of code objects is |\n'
'| | deprecated, '
'and may be removed in Python 3.14. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_stacksize | The required '
'stack size of the code object |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_flags | An "integer" '
'encoding a number of flags for the |\n'
'| | '
'interpreter. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'\n'
'The following flag bits are defined for "co_flags": bit "0x04" is '
'set\n'
@ -14476,7 +14546,9 @@ topics = {'assert': 'The "assert" statement\n'
'number of positional arguments; bit "0x08" is set if the function '
'uses\n'
'the "**keywords" syntax to accept arbitrary keyword arguments; bit\n'
'"0x20" is set if the function is a generator.\n'
'"0x20" is set if the function is a generator. See Code Objects Bit\n'
'Flags for details on the semantics of each flags that might be\n'
'present.\n'
'\n'
'Future feature declarations ("from __future__ import division") '
'also\n'
@ -14495,16 +14567,19 @@ topics = {'assert': 'The "assert" statement\n'
'is the documentation string of the function, or "None" if '
'undefined.\n'
'\n'
'\n'
'The "co_positions()" method\n'
'~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
'\n'
'codeobject.co_positions()\n'
'\n'
' Returns an iterable over the source code positions of each '
'bytecode\n'
' instruction in the code object.\n'
' Returns an iterable over the source code positions of each\n'
' *bytecode* instruction in the code object.\n'
'\n'
' The iterator returns tuples containing the "(start_line, '
'end_line,\n'
' start_column, end_column)". The *i-th* tuple corresponds to the\n'
' position of the source code that compiled to the *i-th*\n'
' The iterator returns "tuple"s containing the "(start_line,\n'
' end_line, start_column, end_column)". The *i-th* tuple '
'corresponds\n'
' to the position of the source code that compiled to the *i-th*\n'
' instruction. Column information is 0-indexed utf-8 byte offsets '
'on\n'
' the given source line.\n'
@ -14551,42 +14626,95 @@ topics = {'assert': 'The "assert" statement\n'
'objects (see below), and are also passed to registered trace\n'
'functions.\n'
'\n'
'Special read-only attributes: "f_back" is to the previous stack '
'frame\n'
'(towards the caller), or "None" if this is the bottom stack frame;\n'
'"f_code" is the code object being executed in this frame; '
'"f_locals"\n'
'is the dictionary used to look up local variables; "f_globals" is '
'used\n'
'for global variables; "f_builtins" is used for built-in '
'(intrinsic)\n'
'names; "f_lasti" gives the precise instruction (this is an index '
'into\n'
'the bytecode string of the code object).\n'
'\n'
'Accessing "f_code" raises an auditing event "object.__getattr__" '
'with\n'
'arguments "obj" and ""f_code"".\n'
'Special read-only attributes\n'
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
'\n'
'Special writable attributes: "f_trace", if not "None", is a '
'function\n'
'called for various events during code execution (this is used by '
'the\n'
'debugger). Normally an event is triggered for each new source line '
'-\n'
'this can be disabled by setting "f_trace_lines" to "False".\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_back | Points to '
'the previous stack frame (towards the |\n'
'| | caller), or '
'"None" if this is the bottom stack |\n'
'| | '
'frame |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_code | The code '
'object being executed in this frame. |\n'
'| | Accessing '
'this attribute raises an auditing event |\n'
'| | '
'"object.__getattr__" with arguments "obj" and |\n'
'| | '
'""f_code"". |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_locals | The '
'dictionary used by the frame to look up local |\n'
'| | '
'variables |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_globals | The '
'dictionary used by the frame to look up global |\n'
'| | '
'variables |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_builtins | The '
'dictionary used by the frame to look up built- |\n'
'| | in '
'(intrinsic) names |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_lasti | The “precise '
'instruction” of the frame object |\n'
'| | (this is an '
'index into the *bytecode* string of |\n'
'| | the code '
'object) |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'\n'
'Implementations *may* allow per-opcode events to be requested by\n'
'setting "f_trace_opcodes" to "True". Note that this may lead to\n'
'undefined interpreter behaviour if exceptions raised by the trace\n'
'function escape to the function being traced.\n'
'\n'
'"f_lineno" is the current line number of the frame — writing to '
'this\n'
'from within a trace function jumps to the given line (only for the\n'
'bottom-most frame). A debugger can implement a Jump command (aka '
'Set\n'
'Next Statement) by writing to f_lineno.\n'
'Special writable attributes\n'
'~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
'\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_trace | If not '
'"None", this is a function called for |\n'
'| | various '
'events during code execution (this is used |\n'
'| | by '
'debuggers). Normally an event is triggered for |\n'
'| | each new '
'source line (see "f_trace_lines"). |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_trace_lines | Set this '
'attribute to "False" to disable |\n'
'| | triggering a '
'tracing event for each source line. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_trace_opcodes | Set this '
'attribute to "True" to allow per-opcode |\n'
'| | events to be '
'requested. Note that this may lead to |\n'
'| | undefined '
'interpreter behaviour if exceptions |\n'
'| | raised by '
'the trace function escape to the |\n'
'| | function '
'being traced. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| frame.f_lineno | The current '
'line number of the frame writing to |\n'
'| | this from '
'within a trace function jumps to the |\n'
'| | given line '
'(only for the bottom-most frame). A |\n'
'| | debugger can '
'implement a Jump command (aka Set |\n'
'| | Next '
'Statement) by writing to this attribute. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'\n'
'\n'
'Frame object methods\n'
'~~~~~~~~~~~~~~~~~~~~\n'
'\n'
'Frame objects support one method:\n'
'\n'
@ -14594,7 +14722,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' This method clears all references to local variables held by '
'the\n'
' frame. Also, if the frame belonged to a generator, the '
' frame. Also, if the frame belonged to a *generator*, the '
'generator\n'
' is finalized. This helps break reference cycles involving '
'frame\n'
@ -15167,21 +15295,23 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'Keys views are set-like since their entries are unique and '
'*hashable*.\n'
'If all values are hashable, so that "(key, value)" pairs are '
'unique\n'
'and hashable, then the items view is also set-like. (Values '
'views are\n'
'not treated as set-like since the entries are generally not '
'unique.)\n'
'For set-like views, all of the operations defined for the '
'abstract\n'
'base class "collections.abc.Set" are available (for example, '
'"==",\n'
'"<", or "^"). While using set operators, set-like views '
'accept any\n'
'iterable as the other operand, unlike sets which only accept '
'sets as\n'
'the input.\n'
'Items views also have set-like operations since the (key, '
'value) pairs\n'
'are unique and the keys are hashable. If all values in an '
'items view\n'
'are hashable as well, then the items view can interoperate '
'with other\n'
'sets. (Values views are not treated as set-like since the '
'entries are\n'
'generally not unique.) For set-like views, all of the '
'operations\n'
'defined for the abstract base class "collections.abc.Set" '
'are\n'
'available (for example, "==", "<", or "^"). While using '
'set\n'
'operators, set-like views accept any iterable as the other '
'operand,\n'
'unlike sets which only accept sets as the input.\n'
'\n'
'An example of dictionary view usage:\n'
'\n'