mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Python 3.9.0a3
This commit is contained in:
parent
9017e0bd5e
commit
c33378df39
89 changed files with 1024 additions and 275 deletions
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Autogenerated by Sphinx on Wed Dec 18 22:05:39 2019
|
||||
# Autogenerated by Sphinx on Fri Jan 24 22:03:37 2020
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
|
@ -470,24 +470,25 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'The following code:\n'
|
||||
'\n'
|
||||
' async for TARGET in ITER:\n'
|
||||
' BLOCK\n'
|
||||
' SUITE\n'
|
||||
' else:\n'
|
||||
' BLOCK2\n'
|
||||
' SUITE2\n'
|
||||
'\n'
|
||||
'Is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' iter = (ITER)\n'
|
||||
' iter = type(iter).__aiter__(iter)\n'
|
||||
' running = True\n'
|
||||
'\n'
|
||||
' while running:\n'
|
||||
' try:\n'
|
||||
' TARGET = await type(iter).__anext__(iter)\n'
|
||||
' except StopAsyncIteration:\n'
|
||||
' running = False\n'
|
||||
' else:\n'
|
||||
' BLOCK\n'
|
||||
' SUITE\n'
|
||||
' else:\n'
|
||||
' BLOCK2\n'
|
||||
' SUITE2\n'
|
||||
'\n'
|
||||
'See also "__aiter__()" and "__anext__()" for details.\n'
|
||||
'\n'
|
||||
|
@ -507,23 +508,27 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The following code:\n'
|
||||
'\n'
|
||||
' async with EXPR as VAR:\n'
|
||||
' BLOCK\n'
|
||||
' async with EXPRESSION as TARGET:\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'Is semantically equivalent to:\n'
|
||||
'is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' mgr = (EXPR)\n'
|
||||
' aexit = type(mgr).__aexit__\n'
|
||||
' aenter = type(mgr).__aenter__(mgr)\n'
|
||||
' manager = (EXPRESSION)\n'
|
||||
' aenter = type(manager).__aenter__\n'
|
||||
' aexit = type(manager).__aexit__\n'
|
||||
' value = await aenter(manager)\n'
|
||||
' hit_except = False\n'
|
||||
'\n'
|
||||
' VAR = await aenter\n'
|
||||
' try:\n'
|
||||
' BLOCK\n'
|
||||
' TARGET = value\n'
|
||||
' SUITE\n'
|
||||
' except:\n'
|
||||
' if not await aexit(mgr, *sys.exc_info()):\n'
|
||||
' hit_except = True\n'
|
||||
' if not await aexit(manager, *sys.exc_info()):\n'
|
||||
' raise\n'
|
||||
' else:\n'
|
||||
' await aexit(mgr, None, None, None)\n'
|
||||
' finally:\n'
|
||||
' if not hit_except:\n'
|
||||
' await aexit(manager, None, None, None)\n'
|
||||
'\n'
|
||||
'See also "__aenter__()" and "__aexit__()" for details.\n'
|
||||
'\n'
|
||||
|
@ -2519,11 +2524,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'"with_item")\n'
|
||||
' is evaluated to obtain a context manager.\n'
|
||||
'\n'
|
||||
'2. The context manager’s "__exit__()" is loaded for later use.\n'
|
||||
'2. The context manager’s "__enter__()" is loaded for later use.\n'
|
||||
'\n'
|
||||
'3. The context manager’s "__enter__()" method is invoked.\n'
|
||||
'3. The context manager’s "__exit__()" is loaded for later use.\n'
|
||||
'\n'
|
||||
'4. If a target was included in the "with" statement, the return\n'
|
||||
'4. The context manager’s "__enter__()" method is invoked.\n'
|
||||
'\n'
|
||||
'5. If a target was included in the "with" statement, the return\n'
|
||||
' value from "__enter__()" is assigned to it.\n'
|
||||
'\n'
|
||||
' Note: The "with" statement guarantees that if the '
|
||||
|
@ -2536,9 +2543,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'occurring\n'
|
||||
' within the suite would be. See step 6 below.\n'
|
||||
'\n'
|
||||
'5. The suite is executed.\n'
|
||||
'6. The suite is executed.\n'
|
||||
'\n'
|
||||
'6. The context manager’s "__exit__()" method is invoked. If an\n'
|
||||
'7. The context manager’s "__exit__()" method is invoked. If an\n'
|
||||
' exception caused the suite to be exited, its type, value, '
|
||||
'and\n'
|
||||
' traceback are passed as arguments to "__exit__()". Otherwise, '
|
||||
|
@ -2560,18 +2567,42 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'proceeds\n'
|
||||
' at the normal location for the kind of exit that was taken.\n'
|
||||
'\n'
|
||||
'The following code:\n'
|
||||
'\n'
|
||||
' with EXPRESSION as TARGET:\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' manager = (EXPRESSION)\n'
|
||||
' enter = type(manager).__enter__\n'
|
||||
' exit = type(manager).__exit__\n'
|
||||
' value = enter(manager)\n'
|
||||
' hit_except = False\n'
|
||||
'\n'
|
||||
' try:\n'
|
||||
' TARGET = value\n'
|
||||
' SUITE\n'
|
||||
' except:\n'
|
||||
' hit_except = True\n'
|
||||
' if not exit(manager, *sys.exc_info()):\n'
|
||||
' raise\n'
|
||||
' finally:\n'
|
||||
' if not hit_except:\n'
|
||||
' exit(manager, None, None, None)\n'
|
||||
'\n'
|
||||
'With more than one item, the context managers are processed as '
|
||||
'if\n'
|
||||
'multiple "with" statements were nested:\n'
|
||||
'\n'
|
||||
' with A() as a, B() as b:\n'
|
||||
' suite\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'is equivalent to\n'
|
||||
'is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' with A() as a:\n'
|
||||
' with B() as b:\n'
|
||||
' suite\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'Changed in version 3.1: Support for multiple context '
|
||||
'expressions.\n'
|
||||
|
@ -2935,24 +2966,25 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'The following code:\n'
|
||||
'\n'
|
||||
' async for TARGET in ITER:\n'
|
||||
' BLOCK\n'
|
||||
' SUITE\n'
|
||||
' else:\n'
|
||||
' BLOCK2\n'
|
||||
' SUITE2\n'
|
||||
'\n'
|
||||
'Is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' iter = (ITER)\n'
|
||||
' iter = type(iter).__aiter__(iter)\n'
|
||||
' running = True\n'
|
||||
'\n'
|
||||
' while running:\n'
|
||||
' try:\n'
|
||||
' TARGET = await type(iter).__anext__(iter)\n'
|
||||
' except StopAsyncIteration:\n'
|
||||
' running = False\n'
|
||||
' else:\n'
|
||||
' BLOCK\n'
|
||||
' SUITE\n'
|
||||
' else:\n'
|
||||
' BLOCK2\n'
|
||||
' SUITE2\n'
|
||||
'\n'
|
||||
'See also "__aiter__()" and "__anext__()" for details.\n'
|
||||
'\n'
|
||||
|
@ -2972,23 +3004,27 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The following code:\n'
|
||||
'\n'
|
||||
' async with EXPR as VAR:\n'
|
||||
' BLOCK\n'
|
||||
' async with EXPRESSION as TARGET:\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'Is semantically equivalent to:\n'
|
||||
'is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' mgr = (EXPR)\n'
|
||||
' aexit = type(mgr).__aexit__\n'
|
||||
' aenter = type(mgr).__aenter__(mgr)\n'
|
||||
' manager = (EXPRESSION)\n'
|
||||
' aenter = type(manager).__aenter__\n'
|
||||
' aexit = type(manager).__aexit__\n'
|
||||
' value = await aenter(manager)\n'
|
||||
' hit_except = False\n'
|
||||
'\n'
|
||||
' VAR = await aenter\n'
|
||||
' try:\n'
|
||||
' BLOCK\n'
|
||||
' TARGET = value\n'
|
||||
' SUITE\n'
|
||||
' except:\n'
|
||||
' if not await aexit(mgr, *sys.exc_info()):\n'
|
||||
' hit_except = True\n'
|
||||
' if not await aexit(manager, *sys.exc_info()):\n'
|
||||
' raise\n'
|
||||
' else:\n'
|
||||
' await aexit(mgr, None, None, None)\n'
|
||||
' finally:\n'
|
||||
' if not hit_except:\n'
|
||||
' await aexit(manager, None, None, None)\n'
|
||||
'\n'
|
||||
'See also "__aenter__()" and "__aexit__()" for details.\n'
|
||||
'\n'
|
||||
|
@ -6808,7 +6844,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'object.__rfloordiv__(self, other)\n'
|
||||
'object.__rmod__(self, other)\n'
|
||||
'object.__rdivmod__(self, other)\n'
|
||||
'object.__rpow__(self, other)\n'
|
||||
'object.__rpow__(self, other[, modulo])\n'
|
||||
'object.__rlshift__(self, other)\n'
|
||||
'object.__rrshift__(self, other)\n'
|
||||
'object.__rand__(self, other)\n'
|
||||
|
@ -9483,7 +9519,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'object.__rfloordiv__(self, other)\n'
|
||||
'object.__rmod__(self, other)\n'
|
||||
'object.__rdivmod__(self, other)\n'
|
||||
'object.__rpow__(self, other)\n'
|
||||
'object.__rpow__(self, other[, modulo])\n'
|
||||
'object.__rlshift__(self, other)\n'
|
||||
'object.__rrshift__(self, other)\n'
|
||||
'object.__rand__(self, other)\n'
|
||||
|
@ -9874,9 +9910,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'best\n'
|
||||
' performances, but only used at the first encoding '
|
||||
'error. Enable the\n'
|
||||
' development mode ("-X" "dev" option), or use a debug '
|
||||
'build, to\n'
|
||||
' check *errors*.\n'
|
||||
' Python Development Mode, or use a debug build to check '
|
||||
'*errors*.\n'
|
||||
'\n'
|
||||
' Changed in version 3.1: Support for keyword arguments '
|
||||
'added.\n'
|
||||
|
@ -12401,6 +12436,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'dictionary. This\n'
|
||||
' is a shortcut for "reversed(d.keys())".\n'
|
||||
'\n'
|
||||
' New in version 3.8.\n'
|
||||
'\n'
|
||||
' setdefault(key[, default])\n'
|
||||
'\n'
|
||||
' If *key* is in the dictionary, return its value. If '
|
||||
|
@ -13606,11 +13643,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'1. The context expression (the expression given in the "with_item")\n'
|
||||
' is evaluated to obtain a context manager.\n'
|
||||
'\n'
|
||||
'2. The context manager’s "__exit__()" is loaded for later use.\n'
|
||||
'2. The context manager’s "__enter__()" is loaded for later use.\n'
|
||||
'\n'
|
||||
'3. The context manager’s "__enter__()" method is invoked.\n'
|
||||
'3. The context manager’s "__exit__()" is loaded for later use.\n'
|
||||
'\n'
|
||||
'4. If a target was included in the "with" statement, the return\n'
|
||||
'4. The context manager’s "__enter__()" method is invoked.\n'
|
||||
'\n'
|
||||
'5. If a target was included in the "with" statement, the return\n'
|
||||
' value from "__enter__()" is assigned to it.\n'
|
||||
'\n'
|
||||
' Note: The "with" statement guarantees that if the "__enter__()"\n'
|
||||
|
@ -13620,9 +13659,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' target list, it will be treated the same as an error occurring\n'
|
||||
' within the suite would be. See step 6 below.\n'
|
||||
'\n'
|
||||
'5. The suite is executed.\n'
|
||||
'6. The suite is executed.\n'
|
||||
'\n'
|
||||
'6. The context manager’s "__exit__()" method is invoked. If an\n'
|
||||
'7. The context manager’s "__exit__()" method is invoked. If an\n'
|
||||
' exception caused the suite to be exited, its type, value, and\n'
|
||||
' traceback are passed as arguments to "__exit__()". Otherwise, '
|
||||
'three\n'
|
||||
|
@ -13642,17 +13681,41 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'proceeds\n'
|
||||
' at the normal location for the kind of exit that was taken.\n'
|
||||
'\n'
|
||||
'The following code:\n'
|
||||
'\n'
|
||||
' with EXPRESSION as TARGET:\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' manager = (EXPRESSION)\n'
|
||||
' enter = type(manager).__enter__\n'
|
||||
' exit = type(manager).__exit__\n'
|
||||
' value = enter(manager)\n'
|
||||
' hit_except = False\n'
|
||||
'\n'
|
||||
' try:\n'
|
||||
' TARGET = value\n'
|
||||
' SUITE\n'
|
||||
' except:\n'
|
||||
' hit_except = True\n'
|
||||
' if not exit(manager, *sys.exc_info()):\n'
|
||||
' raise\n'
|
||||
' finally:\n'
|
||||
' if not hit_except:\n'
|
||||
' exit(manager, None, None, None)\n'
|
||||
'\n'
|
||||
'With more than one item, the context managers are processed as if\n'
|
||||
'multiple "with" statements were nested:\n'
|
||||
'\n'
|
||||
' with A() as a, B() as b:\n'
|
||||
' suite\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'is equivalent to\n'
|
||||
'is semantically equivalent to:\n'
|
||||
'\n'
|
||||
' with A() as a:\n'
|
||||
' with B() as b:\n'
|
||||
' suite\n'
|
||||
' SUITE\n'
|
||||
'\n'
|
||||
'Changed in version 3.1: Support for multiple context expressions.\n'
|
||||
'\n'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue