summaryrefslogtreecommitdiffstats
path: root/Lib/pydoc_data
diff options
context:
space:
mode:
authorThomas Wouters <thomas@python.org>2023-12-07 20:31:58 (GMT)
committerThomas Wouters <thomas@python.org>2023-12-07 20:46:47 (GMT)
commit2305ca51448552542b2414186252123a8dc87db7 (patch)
tree4f382914bb446bc541d2696f91b3004b6b53fb8c /Lib/pydoc_data
parentc0fc88fa2f1ee18f83501ce67d31ba557bf23860 (diff)
downloadcpython-3.12.1.zip
cpython-3.12.1.tar.gz
cpython-3.12.1.tar.bz2
Python 3.12.1v3.12.1
Diffstat (limited to 'Lib/pydoc_data')
-rw-r--r--Lib/pydoc_data/topics.py560
1 files changed, 345 insertions, 215 deletions
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 28a5e06..41f4858 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -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'
- '\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'
- '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 read-only attributes\n'
+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n'
+ '\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'
+ '\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'