summaryrefslogtreecommitdiffstats
path: root/Lib/pydoc_data/topics.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/pydoc_data/topics.py')
-rw-r--r--Lib/pydoc_data/topics.py226
1 files changed, 157 insertions, 69 deletions
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 3d9e748..8093041 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Tue Apr 4 23:22:02 2023
+# Autogenerated by Sphinx on Tue Jun 6 23:00:07 2023
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@@ -2577,6 +2577,12 @@ topics = {'assert': 'The "assert" statement\n'
'with\n'
'all exceptions that were raised from within "except*" clauses.\n'
'\n'
+ 'From version 3.11.4, when the entire "ExceptionGroup" is handled '
+ 'and\n'
+ 'only one exception is raised from an "except*" clause, this '
+ 'exception\n'
+ 'is no longer wrapped to form a new "ExceptionGroup".\n'
+ '\n'
'If the raised exception is not an exception group and its type '
'matches\n'
'one of the "except*" clauses, it is caught and wrapped by an '
@@ -4587,8 +4593,7 @@ topics = {'assert': 'The "assert" statement\n'
'case\n'
' performance of a dict insertion, O(n^2) complexity. '
'See\n'
- ' http://www.ocert.org/advisories/ocert-2011-003.html '
- 'for\n'
+ ' http://ocert.org/advisories/ocert-2011-003.html for\n'
' details.Changing hash values affects the iteration '
'order of sets.\n'
' Python has never made guarantees about this ordering '
@@ -4651,20 +4656,41 @@ topics = {'assert': 'The "assert" statement\n'
'traces of\n'
' Python programs.\n'
'\n'
- 'The debugger’s prompt is "(Pdb)". Typical usage to run a program '
- 'under\n'
- 'control of the debugger is:\n'
+ 'The typical usage to break into the debugger is to insert:\n'
'\n'
- ' >>> import pdb\n'
- ' >>> import mymodule\n'
- " >>> pdb.run('mymodule.test()')\n"
- ' > <string>(0)?()\n'
- ' (Pdb) continue\n'
- ' > <string>(1)?()\n'
+ ' import pdb; pdb.set_trace()\n'
+ '\n'
+ 'Or:\n'
+ '\n'
+ ' breakpoint()\n'
+ '\n'
+ 'at the location you want to break into the debugger, and then '
+ 'run the\n'
+ 'program. You can then step through the code following this '
+ 'statement,\n'
+ 'and continue running without the debugger using the "continue"\n'
+ 'command.\n'
+ '\n'
+ 'New in version 3.7: The built-in "breakpoint()", when called '
+ 'with\n'
+ 'defaults, can be used instead of "import pdb; pdb.set_trace()".\n'
+ '\n'
+ ' def double(x):\n'
+ ' breakpoint()\n'
+ ' return x * 2\n'
+ ' val = 3\n'
+ ' print(f"{val} * 2 is {double(val)}")\n'
+ '\n'
+ 'The debugger’s prompt is "(Pdb)", which is the indicator that '
+ 'you are\n'
+ 'in debug mode:\n'
+ '\n'
+ ' > ...(3)double()\n'
+ ' -> return x * 2\n'
+ ' (Pdb) p x\n'
+ ' 3\n'
' (Pdb) continue\n'
- " NameError: 'spam'\n"
- ' > <string>(1)?()\n'
- ' (Pdb)\n'
+ ' 3 * 2 is 6\n'
'\n'
'Changed in version 3.3: Tab-completion via the "readline" module '
'is\n'
@@ -4672,13 +4698,12 @@ topics = {'assert': 'The "assert" statement\n'
'global\n'
'and local names are offered as arguments of the "p" command.\n'
'\n'
- '"pdb.py" can also be invoked as a script to debug other '
- 'scripts. For\n'
- 'example:\n'
+ 'You can also invoke "pdb" from the command line to debug other\n'
+ 'scripts. For example:\n'
'\n'
' python -m pdb myscript.py\n'
'\n'
- 'When invoked as a script, pdb will automatically enter '
+ 'When invoked as a module, pdb will automatically enter '
'post-mortem\n'
'debugging if the program being debugged exits abnormally. After '
'post-\n'
@@ -4690,47 +4715,43 @@ topics = {'assert': 'The "assert" statement\n'
'the\n'
'debugger upon program’s exit.\n'
'\n'
- 'New in version 3.2: "pdb.py" now accepts a "-c" option that '
- 'executes\n'
- 'commands as if given in a ".pdbrc" file, see Debugger Commands.\n'
- '\n'
- 'New in version 3.7: "pdb.py" now accepts a "-m" option that '
- 'execute\n'
- 'modules similar to the way "python -m" does. As with a script, '
- 'the\n'
- 'debugger will pause execution just before the first line of the\n'
- 'module.\n'
+ 'New in version 3.2: "-c" option is introduced to execute '
+ 'commands as\n'
+ 'if given in a ".pdbrc" file, see Debugger Commands.\n'
'\n'
- 'The typical usage to break into the debugger is to insert:\n'
+ 'New in version 3.7: "-m" option is introduced to execute '
+ 'modules\n'
+ 'similar to the way "python -m" does. As with a script, the '
+ 'debugger\n'
+ 'will pause execution just before the first line of the module.\n'
'\n'
- ' import pdb; pdb.set_trace()\n'
+ 'Typical usage to execute a statement under control of the '
+ 'debugger is:\n'
'\n'
- 'at the location you want to break into the debugger, and then '
- 'run the\n'
- 'program. You can then step through the code following this '
- 'statement,\n'
- 'and continue running without the debugger using the "continue"\n'
- 'command.\n'
- '\n'
- 'New in version 3.7: The built-in "breakpoint()", when called '
- 'with\n'
- 'defaults, can be used instead of "import pdb; pdb.set_trace()".\n'
+ ' >>> import pdb\n'
+ ' >>> def f(x):\n'
+ ' ... print(1 / x)\n'
+ ' >>> pdb.run("f(2)")\n'
+ ' > <string>(1)<module>()\n'
+ ' (Pdb) continue\n'
+ ' 0.5\n'
+ ' >>>\n'
'\n'
'The typical usage to inspect a crashed program is:\n'
'\n'
' >>> import pdb\n'
- ' >>> import mymodule\n'
- ' >>> mymodule.test()\n'
+ ' >>> def f(x):\n'
+ ' ... print(1 / x)\n'
+ ' ...\n'
+ ' >>> f(0)\n'
' Traceback (most recent call last):\n'
' File "<stdin>", line 1, in <module>\n'
- ' File "./mymodule.py", line 4, in test\n'
- ' test2()\n'
- ' File "./mymodule.py", line 3, in test2\n'
- ' print(spam)\n'
- ' NameError: spam\n'
+ ' File "<stdin>", line 2, in f\n'
+ ' ZeroDivisionError: division by zero\n'
' >>> pdb.pm()\n'
- ' > ./mymodule.py(3)test2()\n'
- ' -> print(spam)\n'
+ ' > <stdin>(2)f()\n'
+ ' (Pdb) p x\n'
+ ' 0\n'
' (Pdb)\n'
'\n'
'The module defines the following functions; each enters the '
@@ -4949,9 +4970,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Print a stack trace, with the most recent frame at the '
'bottom. An\n'
- ' arrow indicates the current frame, which determines the '
- 'context of\n'
- ' most commands.\n'
+ ' arrow (">") indicates the current frame, which determines '
+ 'the\n'
+ ' context of most commands.\n'
'\n'
'd(own) [count]\n'
'\n'
@@ -5179,7 +5200,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'a(rgs)\n'
'\n'
- ' Print the argument list of the current function.\n'
+ ' Print the arguments of the current function and their '
+ 'current\n'
+ ' values.\n'
'\n'
'p expression\n'
'\n'
@@ -5217,6 +5240,54 @@ topics = {'assert': 'The "assert" statement\n'
'current\n'
' frame.\n'
'\n'
+ ' Note:\n'
+ '\n'
+ ' Display evaluates *expression* and compares to the result '
+ 'of the\n'
+ ' previous evaluation of *expression*, so when the result is\n'
+ ' mutable, display may not be able to pick up the changes.\n'
+ '\n'
+ ' Example:\n'
+ '\n'
+ ' lst = []\n'
+ ' breakpoint()\n'
+ ' pass\n'
+ ' lst.append(1)\n'
+ ' print(lst)\n'
+ '\n'
+ ' Display won’t realize "lst" has been changed because the '
+ 'result of\n'
+ ' evaluation is modified in place by "lst.append(1)" before '
+ 'being\n'
+ ' compared:\n'
+ '\n'
+ ' > example.py(3)<module>()\n'
+ ' -> pass\n'
+ ' (Pdb) display lst\n'
+ ' display lst: []\n'
+ ' (Pdb) n\n'
+ ' > example.py(4)<module>()\n'
+ ' -> lst.append(1)\n'
+ ' (Pdb) n\n'
+ ' > example.py(5)<module>()\n'
+ ' -> print(lst)\n'
+ ' (Pdb)\n'
+ '\n'
+ ' You can do some tricks with copy mechanism to make it work:\n'
+ '\n'
+ ' > example.py(3)<module>()\n'
+ ' -> pass\n'
+ ' (Pdb) display lst[:]\n'
+ ' display lst[:]: []\n'
+ ' (Pdb) n\n'
+ ' > example.py(4)<module>()\n'
+ ' -> lst.append(1)\n'
+ ' (Pdb) n\n'
+ ' > example.py(5)<module>()\n'
+ ' -> print(lst)\n'
+ ' display lst[:]: [1] [old: []]\n'
+ ' (Pdb)\n'
+ '\n'
' New in version 3.2.\n'
'\n'
'undisplay [expression]\n'
@@ -5318,7 +5389,8 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'retval\n'
'\n'
- ' Print the return value for the last return of a function.\n'
+ ' Print the return value for the last return of the current '
+ 'function.\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
@@ -9506,8 +9578,7 @@ topics = {'assert': 'The "assert" statement\n'
' by carefully chosen inputs that exploit the worst case\n'
' performance of a dict insertion, O(n^2) complexity. '
'See\n'
- ' http://www.ocert.org/advisories/ocert-2011-003.html '
- 'for\n'
+ ' http://ocert.org/advisories/ocert-2011-003.html for\n'
' details.Changing hash values affects the iteration '
'order of sets.\n'
' Python has never made guarantees about this ordering '
@@ -10161,20 +10232,32 @@ topics = {'assert': 'The "assert" statement\n'
'Resolving MRO entries\n'
'---------------------\n'
'\n'
- 'If a base that appears in class definition is not an '
+ 'object.__mro_entries__(self, bases)\n'
+ '\n'
+ ' If a base that appears in a class definition is not an '
'instance of\n'
- '"type", then an "__mro_entries__" method is searched on it. '
- 'If found,\n'
- 'it is called with the original bases tuple. This method must '
- 'return a\n'
- 'tuple of classes that will be used instead of this base. The '
- 'tuple may\n'
- 'be empty, in such case the original base is ignored.\n'
+ ' "type", then an "__mro_entries__()" method is searched on '
+ 'the base.\n'
+ ' If an "__mro_entries__()" method is found, the base is '
+ 'substituted\n'
+ ' with the result of a call to "__mro_entries__()" when '
+ 'creating the\n'
+ ' class. The method is called with the original bases tuple '
+ 'passed to\n'
+ ' the *bases* parameter, and must return a tuple of classes '
+ 'that will\n'
+ ' be used instead of the base. The returned tuple may be '
+ 'empty: in\n'
+ ' these cases, the original base is ignored.\n'
'\n'
'See also:\n'
'\n'
- ' **PEP 560** - Core support for typing module and generic '
- 'types\n'
+ ' "types.resolve_bases()"\n'
+ ' Dynamically resolve bases that are not instances of '
+ '"type".\n'
+ '\n'
+ ' **PEP 560**\n'
+ ' Core support for typing module and generic types.\n'
'\n'
'\n'
'Determining the appropriate metaclass\n'
@@ -11830,7 +11913,7 @@ topics = {'assert': 'The "assert" statement\n'
'followed by\n'
' the string itself.\n'
'\n'
- 'str.rsplit(sep=None, maxsplit=-1)\n'
+ 'str.rsplit(sep=None, maxsplit=- 1)\n'
'\n'
' Return a list of the words in the string, using *sep* '
'as the\n'
@@ -11871,7 +11954,7 @@ topics = {'assert': 'The "assert" statement\n'
" >>> 'Monty Python'.removesuffix(' Python')\n"
" 'Monty'\n"
'\n'
- 'str.split(sep=None, maxsplit=-1)\n'
+ 'str.split(sep=None, maxsplit=- 1)\n'
'\n'
' Return a list of the words in the string, using *sep* '
'as the\n'
@@ -12696,6 +12779,11 @@ topics = {'assert': 'The "assert" statement\n'
'with\n'
'all exceptions that were raised from within "except*" clauses.\n'
'\n'
+ 'From version 3.11.4, when the entire "ExceptionGroup" is handled and\n'
+ 'only one exception is raised from an "except*" clause, this '
+ 'exception\n'
+ 'is no longer wrapped to form a new "ExceptionGroup".\n'
+ '\n'
'If the raised exception is not an exception group and its type '
'matches\n'
'one of the "except*" clauses, it is caught and wrapped by an '