mirror of
https://github.com/python/cpython.git
synced 2025-07-15 15:25:29 +00:00
Python 3.11.4
This commit is contained in:
parent
daf22ca7f9
commit
d2340ef257
83 changed files with 10741 additions and 7014 deletions
|
@ -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,60 +4656,14 @@ 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'
|
||||
'\n'
|
||||
' >>> import pdb\n'
|
||||
' >>> import mymodule\n'
|
||||
" >>> pdb.run('mymodule.test()')\n"
|
||||
' > <string>(0)?()\n'
|
||||
' (Pdb) continue\n'
|
||||
' > <string>(1)?()\n'
|
||||
' (Pdb) continue\n'
|
||||
" NameError: 'spam'\n"
|
||||
' > <string>(1)?()\n'
|
||||
' (Pdb)\n'
|
||||
'\n'
|
||||
'Changed in version 3.3: Tab-completion via the "readline" module '
|
||||
'is\n'
|
||||
'available for commands and command arguments, e.g. the current '
|
||||
'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'
|
||||
'\n'
|
||||
' python -m pdb myscript.py\n'
|
||||
'\n'
|
||||
'When invoked as a script, pdb will automatically enter '
|
||||
'post-mortem\n'
|
||||
'debugging if the program being debugged exits abnormally. After '
|
||||
'post-\n'
|
||||
'mortem debugging (or after normal exit of the program), pdb '
|
||||
'will\n'
|
||||
'restart the program. Automatic restarting preserves pdb’s state '
|
||||
'(such\n'
|
||||
'as breakpoints) and in most cases is more useful than quitting '
|
||||
'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'
|
||||
'\n'
|
||||
'The typical usage to break into the debugger is to insert:\n'
|
||||
'\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 '
|
||||
|
@ -4716,21 +4675,83 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'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'
|
||||
' 3 * 2 is 6\n'
|
||||
'\n'
|
||||
'Changed in version 3.3: Tab-completion via the "readline" module '
|
||||
'is\n'
|
||||
'available for commands and command arguments, e.g. the current '
|
||||
'global\n'
|
||||
'and local names are offered as arguments of the "p" command.\n'
|
||||
'\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 module, pdb will automatically enter '
|
||||
'post-mortem\n'
|
||||
'debugging if the program being debugged exits abnormally. After '
|
||||
'post-\n'
|
||||
'mortem debugging (or after normal exit of the program), pdb '
|
||||
'will\n'
|
||||
'restart the program. Automatic restarting preserves pdb’s state '
|
||||
'(such\n'
|
||||
'as breakpoints) and in most cases is more useful than quitting '
|
||||
'the\n'
|
||||
'debugger upon program’s exit.\n'
|
||||
'\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'
|
||||
'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'
|
||||
'Typical usage to execute a statement under control of the '
|
||||
'debugger is:\n'
|
||||
'\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 '
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue