3.7.2rc1
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index f5b9aa1..aaab1f7 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Sat Oct 20 01:59:27 2018
+# Autogenerated by Sphinx on Tue Dec 11 16:32:31 2018
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@@ -26,7 +26,8 @@
'implementation, the built-in variable "__debug__" is "True" under\n'
'normal circumstances, "False" when optimization is requested '
'(command\n'
- 'line option -O). The current code generator emits no code for an\n'
+ 'line option "-O"). The current code generator emits no code for '
+ 'an\n'
'assert statement when optimization is requested at compile time. '
'Note\n'
'that it is unnecessary to include the source code for the '
@@ -87,23 +88,16 @@
'parentheses or square brackets, is recursively defined as '
'follows.\n'
'\n'
- '* If the target list is empty: The object must also be an '
- 'empty\n'
- ' iterable.\n'
+ '* If the target list is a single target with no trailing '
+ 'comma,\n'
+ ' optionally in parentheses, the object is assigned to that '
+ 'target.\n'
'\n'
- '* If the target list is a single target in parentheses: The '
- 'object\n'
- ' is assigned to that target.\n'
- '\n'
- '* If the target list is a comma-separated list of targets, or '
- 'a\n'
- ' single target in square brackets: The object must be an '
- 'iterable\n'
- ' with the same number of items as there are targets in the '
- 'target\n'
- ' list, and the items are assigned, from left to right, to '
- 'the\n'
- ' corresponding targets.\n'
+ '* Else: The object must be an iterable with the same number of '
+ 'items\n'
+ ' as there are targets in the target list, and the items are '
+ 'assigned,\n'
+ ' from left to right, to the corresponding targets.\n'
'\n'
' * If the target list contains one target prefixed with an\n'
' asterisk, called a “starred” target: The object must be '
@@ -400,9 +394,21 @@
'the last\n'
'"__setitem__()" or "__setattr__()" call.\n'
'\n'
- 'See also: **PEP 526** - Variable and attribute annotation '
- 'syntax\n'
- ' **PEP 484** - Type hints\n',
+ 'See also:\n'
+ '\n'
+ ' **PEP 526** - Syntax for Variable Annotations\n'
+ ' The proposal that added syntax for annotating the types '
+ 'of\n'
+ ' variables (including class variables and instance '
+ 'variables),\n'
+ ' instead of expressing them through comments.\n'
+ '\n'
+ ' **PEP 484** - Type hints\n'
+ ' The proposal that added the "typing" module to provide a '
+ 'standard\n'
+ ' syntax for type annotations that can be used in static '
+ 'analysis\n'
+ ' tools and IDEs.\n',
'async': 'Coroutines\n'
'**********\n'
'\n'
@@ -418,18 +424,19 @@
'\n'
'Execution of Python coroutines can be suspended and resumed at '
'many\n'
- 'points (see *coroutine*). In the body of a coroutine, any "await" '
- 'and\n'
- '"async" identifiers become reserved keywords; "await" expressions,\n'
- '"async for" and "async with" can only be used in coroutine bodies.\n'
+ 'points (see *coroutine*). Inside the body of a coroutine '
+ 'function,\n'
+ '"await" and "async" identifiers become reserved keywords; "await"\n'
+ 'expressions, "async for" and "async with" can only be used in\n'
+ 'coroutine function bodies.\n'
'\n'
'Functions defined with "async def" syntax are always coroutine\n'
'functions, even if they do not contain "await" or "async" '
'keywords.\n'
'\n'
- 'It is a "SyntaxError" to use "yield from" expressions in "async '
- 'def"\n'
- 'coroutines.\n'
+ 'It is a "SyntaxError" to use a "yield from" expression inside the '
+ 'body\n'
+ 'of a coroutine function.\n'
'\n'
'An example of a coroutine function:\n'
'\n'
@@ -475,8 +482,9 @@
'\n'
'See also "__aiter__()" and "__anext__()" for details.\n'
'\n'
- 'It is a "SyntaxError" to use "async for" statement outside of an\n'
- '"async def" function.\n'
+ 'It is a "SyntaxError" to use an "async for" statement outside the '
+ 'body\n'
+ 'of a coroutine function.\n'
'\n'
'\n'
'The "async with" statement\n'
@@ -510,10 +518,15 @@
'\n'
'See also "__aenter__()" and "__aexit__()" for details.\n'
'\n'
- 'It is a "SyntaxError" to use "async with" statement outside of an\n'
- '"async def" function.\n'
+ 'It is a "SyntaxError" to use an "async with" statement outside the\n'
+ 'body of a coroutine function.\n'
'\n'
- 'See also: **PEP 492** - Coroutines with async and await syntax\n'
+ 'See also:\n'
+ '\n'
+ ' **PEP 492** - Coroutines with async and await syntax\n'
+ ' The proposal that made coroutines a proper standalone concept '
+ 'in\n'
+ ' Python, and added supporting syntax.\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
@@ -521,15 +534,11 @@
' there is a "finally" clause which happens to raise another\n'
' exception. That new exception causes the old one to be lost.\n'
'\n'
- '[2] Currently, control “flows off the end” except in the case of\n'
- ' an exception or the execution of a "return", "continue", or\n'
- ' "break" statement.\n'
- '\n'
- '[3] A string literal appearing as the first statement in the\n'
+ '[2] A string literal appearing as the first statement in the\n'
' function body is transformed into the function’s "__doc__"\n'
' attribute and therefore the function’s *docstring*.\n'
'\n'
- '[4] A string literal appearing as the first statement in the class\n'
+ '[3] A string literal appearing as the first statement in the class\n'
' body is transformed into the namespace’s "__doc__" item and\n'
' therefore the class’s *docstring*.\n',
'atom-identifiers': 'Identifiers (Names)\n'
@@ -748,7 +757,7 @@
'\n'
' def __setattr__(self, attr, value):\n'
" print(f'Setting {attr}...')\n"
- ' setattr(self, attr, value)\n'
+ ' super().__setattr__(attr, value)\n'
'\n'
' sys.modules[__name__].__class__ = VerboseModule\n'
'\n'
@@ -1350,7 +1359,7 @@
'is\n'
'returned.\n'
'\n'
- '(Note that neither "and" nor "or" restrict the value and type '
+ 'Note that neither "and" nor "or" restrict the value and type '
'they\n'
'return to "False" and "True", but rather return the last '
'evaluated\n'
@@ -1616,7 +1625,7 @@
'original global namespace. (Usually, the suite contains mostly\n'
'function definitions.) When the class’s suite finishes execution, '
'its\n'
- 'execution frame is discarded but its local namespace is saved. [4] '
+ 'execution frame is discarded but its local namespace is saved. [3] '
'A\n'
'class object is then created using the inheritance list for the '
'base\n'
@@ -1666,8 +1675,18 @@
'unexpected results. Descriptors can be used to create instance\n'
'variables with different implementation details.\n'
'\n'
- 'See also: **PEP 3115** - Metaclasses in Python 3 **PEP 3129** -\n'
- ' Class Decorators\n',
+ 'See also:\n'
+ '\n'
+ ' **PEP 3115** - Metaclasses in Python 3000\n'
+ ' The proposal that changed the declaration of metaclasses to '
+ 'the\n'
+ ' current syntax, and the semantics for how classes with\n'
+ ' metaclasses are constructed.\n'
+ '\n'
+ ' **PEP 3129** - Class Decorators\n'
+ ' The proposal that added class decorators. Function and '
+ 'method\n'
+ ' decorators were introduced in **PEP 318**.\n',
'comparisons': 'Comparisons\n'
'***********\n'
'\n'
@@ -2371,9 +2390,11 @@
'returning\n'
'from a function that handled an exception.\n'
'\n'
- 'The optional "else" clause is executed if and when control flows '
- 'off\n'
- 'the end of the "try" clause. [2] Exceptions in the "else" clause '
+ 'The optional "else" clause is executed if the control flow '
+ 'leaves the\n'
+ '"try" suite, no exception was raised, and no "return", '
+ '"continue", or\n'
+ '"break" statement was executed. Exceptions in the "else" clause '
'are\n'
'not handled by the preceding "except" clauses.\n'
'\n'
@@ -2561,7 +2582,7 @@
'\n'
'The function definition does not execute the function body; this '
'gets\n'
- 'executed only when the function is called. [3]\n'
+ 'executed only when the function is called. [2]\n'
'\n'
'A function definition may be wrapped by one or more *decorator*\n'
'expressions. Decorator expressions are evaluated when the '
@@ -2754,7 +2775,7 @@
'function definitions.) When the class’s suite finishes '
'execution, its\n'
'execution frame is discarded but its local namespace is saved. '
- '[4] A\n'
+ '[3] A\n'
'class object is then created using the inheritance list for the '
'base\n'
'classes and the saved local namespace for the attribute '
@@ -2806,8 +2827,18 @@
'unexpected results. Descriptors can be used to create instance\n'
'variables with different implementation details.\n'
'\n'
- 'See also: **PEP 3115** - Metaclasses in Python 3 **PEP 3129** -\n'
- ' Class Decorators\n'
+ 'See also:\n'
+ '\n'
+ ' **PEP 3115** - Metaclasses in Python 3000\n'
+ ' The proposal that changed the declaration of metaclasses to '
+ 'the\n'
+ ' current syntax, and the semantics for how classes with\n'
+ ' metaclasses are constructed.\n'
+ '\n'
+ ' **PEP 3129** - Class Decorators\n'
+ ' The proposal that added class decorators. Function and '
+ 'method\n'
+ ' decorators were introduced in **PEP 318**.\n'
'\n'
'\n'
'Coroutines\n'
@@ -2825,20 +2856,20 @@
'\n'
'Execution of Python coroutines can be suspended and resumed at '
'many\n'
- 'points (see *coroutine*). In the body of a coroutine, any '
- '"await" and\n'
- '"async" identifiers become reserved keywords; "await" '
- 'expressions,\n'
- '"async for" and "async with" can only be used in coroutine '
- 'bodies.\n'
+ 'points (see *coroutine*). Inside the body of a coroutine '
+ 'function,\n'
+ '"await" and "async" identifiers become reserved keywords; '
+ '"await"\n'
+ 'expressions, "async for" and "async with" can only be used in\n'
+ 'coroutine function bodies.\n'
'\n'
'Functions defined with "async def" syntax are always coroutine\n'
'functions, even if they do not contain "await" or "async" '
'keywords.\n'
'\n'
- 'It is a "SyntaxError" to use "yield from" expressions in "async '
- 'def"\n'
- 'coroutines.\n'
+ 'It is a "SyntaxError" to use a "yield from" expression inside '
+ 'the body\n'
+ 'of a coroutine function.\n'
'\n'
'An example of a coroutine function:\n'
'\n'
@@ -2884,9 +2915,9 @@
'\n'
'See also "__aiter__()" and "__anext__()" for details.\n'
'\n'
- 'It is a "SyntaxError" to use "async for" statement outside of '
- 'an\n'
- '"async def" function.\n'
+ 'It is a "SyntaxError" to use an "async for" statement outside '
+ 'the body\n'
+ 'of a coroutine function.\n'
'\n'
'\n'
'The "async with" statement\n'
@@ -2920,11 +2951,16 @@
'\n'
'See also "__aenter__()" and "__aexit__()" for details.\n'
'\n'
- 'It is a "SyntaxError" to use "async with" statement outside of '
- 'an\n'
- '"async def" function.\n'
+ 'It is a "SyntaxError" to use an "async with" statement outside '
+ 'the\n'
+ 'body of a coroutine function.\n'
'\n'
- 'See also: **PEP 492** - Coroutines with async and await syntax\n'
+ 'See also:\n'
+ '\n'
+ ' **PEP 492** - Coroutines with async and await syntax\n'
+ ' The proposal that made coroutines a proper standalone '
+ 'concept in\n'
+ ' Python, and added supporting syntax.\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
@@ -2933,16 +2969,11 @@
' exception. That new exception causes the old one to be '
'lost.\n'
'\n'
- '[2] Currently, control “flows off the end” except in the case '
- 'of\n'
- ' an exception or the execution of a "return", "continue", or\n'
- ' "break" statement.\n'
- '\n'
- '[3] A string literal appearing as the first statement in the\n'
+ '[2] A string literal appearing as the first statement in the\n'
' function body is transformed into the function’s "__doc__"\n'
' attribute and therefore the function’s *docstring*.\n'
'\n'
- '[4] A string literal appearing as the first statement in the '
+ '[3] A string literal appearing as the first statement in the '
'class\n'
' body is transformed into the namespace’s "__doc__" item and\n'
' therefore the class’s *docstring*.\n',
@@ -3470,12 +3501,12 @@
' See '
'http://www.ocert.org/advisories/ocert-2011-003.html for\n'
' details.Changing hash values affects the iteration '
- 'order of\n'
- ' dicts, sets and other mappings. Python has never made '
- 'guarantees\n'
- ' about this ordering (and it typically varies between '
- '32-bit and\n'
- ' 64-bit builds).See also "PYTHONHASHSEED".\n'
+ 'order of sets.\n'
+ ' Python has never made guarantees about this ordering '
+ '(and it\n'
+ ' typically varies between 32-bit and 64-bit builds).See '
+ 'also\n'
+ ' "PYTHONHASHSEED".\n'
'\n'
' Changed in version 3.3: Hash randomization is enabled by '
'default.\n'
@@ -4378,7 +4409,7 @@
'argument to the interpreter) is a code block. A script command '
'(a\n'
'command specified on the interpreter command line with the '
- '‘**-c**’\n'
+ '"-c"\n'
'option) is a code block. The string argument passed to the '
'built-in\n'
'functions "eval()" and "exec()" is a code block.\n'
@@ -5394,7 +5425,7 @@
'\n'
'The new format syntax also supports new and different '
'options, shown\n'
- 'in the follow examples.\n'
+ 'in the following examples.\n'
'\n'
'Accessing arguments by position:\n'
'\n'
@@ -5574,7 +5605,7 @@
'\n'
'The function definition does not execute the function body; this '
'gets\n'
- 'executed only when the function is called. [3]\n'
+ 'executed only when the function is called. [2]\n'
'\n'
'A function definition may be wrapped by one or more *decorator*\n'
'expressions. Decorator expressions are evaluated when the '
@@ -6350,8 +6381,9 @@
'lambda': 'Lambdas\n'
'*******\n'
'\n'
- ' lambda_expr ::= "lambda" [parameter_list]: expression\n'
- ' lambda_expr_nocond ::= "lambda" [parameter_list]: '
+ ' lambda_expr ::= "lambda" [parameter_list] ":" '
+ 'expression\n'
+ ' lambda_expr_nocond ::= "lambda" [parameter_list] ":" '
'expression_nocond\n'
'\n'
'Lambda expressions (sometimes called lambda forms) are used to '
@@ -7453,12 +7485,6 @@
'of the\n'
' sequence.\n'
'\n'
- 'object.__missing__(self, key)\n'
- '\n'
- ' Called by "dict"."__getitem__()" to implement '
- '"self[key]" for dict\n'
- ' subclasses when key is not in the dictionary.\n'
- '\n'
'object.__setitem__(self, key, value)\n'
'\n'
' Called to implement assignment to "self[key]". Same '
@@ -7486,6 +7512,12 @@
' raised for improper *key* values as for the '
'"__getitem__()" method.\n'
'\n'
+ 'object.__missing__(self, key)\n'
+ '\n'
+ ' Called by "dict"."__getitem__()" to implement '
+ '"self[key]" for dict\n'
+ ' subclasses when key is not in the dictionary.\n'
+ '\n'
'object.__iter__(self)\n'
'\n'
' This method is called when an iterator is required for '
@@ -8163,12 +8195,12 @@
' See http://www.ocert.org/advisories/ocert-2011-003.html '
'for\n'
' details.Changing hash values affects the iteration '
- 'order of\n'
- ' dicts, sets and other mappings. Python has never made '
- 'guarantees\n'
- ' about this ordering (and it typically varies between '
- '32-bit and\n'
- ' 64-bit builds).See also "PYTHONHASHSEED".\n'
+ 'order of sets.\n'
+ ' Python has never made guarantees about this ordering '
+ '(and it\n'
+ ' typically varies between 32-bit and 64-bit builds).See '
+ 'also\n'
+ ' "PYTHONHASHSEED".\n'
'\n'
' Changed in version 3.3: Hash randomization is enabled by '
'default.\n'
@@ -8332,7 +8364,7 @@
'\n'
' def __setattr__(self, attr, value):\n'
" print(f'Setting {attr}...')\n"
- ' setattr(self, attr, value)\n'
+ ' super().__setattr__(attr, value)\n'
'\n'
' sys.modules[__name__].__class__ = VerboseModule\n'
'\n'
@@ -8918,8 +8950,8 @@
' Describes the implicit "__class__" closure reference\n'
'\n'
'\n'
- 'Metaclass example\n'
- '-----------------\n'
+ 'Uses for metaclasses\n'
+ '--------------------\n'
'\n'
'The potential uses for metaclasses are boundless. Some ideas '
'that have\n'
@@ -8929,48 +8961,6 @@
'frameworks, and\n'
'automatic resource locking/synchronization.\n'
'\n'
- 'Here is an example of a metaclass that uses an\n'
- '"collections.OrderedDict" to remember the order that class '
- 'variables\n'
- 'are defined:\n'
- '\n'
- ' class OrderedClass(type):\n'
- '\n'
- ' @classmethod\n'
- ' def __prepare__(metacls, name, bases, **kwds):\n'
- ' return collections.OrderedDict()\n'
- '\n'
- ' def __new__(cls, name, bases, namespace, **kwds):\n'
- ' result = type.__new__(cls, name, bases, '
- 'dict(namespace))\n'
- ' result.members = tuple(namespace)\n'
- ' return result\n'
- '\n'
- ' class A(metaclass=OrderedClass):\n'
- ' def one(self): pass\n'
- ' def two(self): pass\n'
- ' def three(self): pass\n'
- ' def four(self): pass\n'
- '\n'
- ' >>> A.members\n'
- " ('__module__', 'one', 'two', 'three', 'four')\n"
- '\n'
- 'When the class definition for *A* gets executed, the process '
- 'begins\n'
- 'with calling the metaclass’s "__prepare__()" method which '
- 'returns an\n'
- 'empty "collections.OrderedDict". That mapping records the '
- 'methods and\n'
- 'attributes of *A* as they are defined within the body of the '
- 'class\n'
- 'statement. Once those definitions are executed, the ordered '
- 'dictionary\n'
- 'is fully populated and the metaclass’s "__new__()" method '
- 'gets\n'
- 'invoked. That method builds the new type and it saves the '
- 'ordered\n'
- 'dictionary keys in an attribute called "members".\n'
- '\n'
'\n'
'Customizing instance and subclass checks\n'
'========================================\n'
@@ -9196,12 +9186,6 @@
'the\n'
' sequence.\n'
'\n'
- 'object.__missing__(self, key)\n'
- '\n'
- ' Called by "dict"."__getitem__()" to implement "self[key]" '
- 'for dict\n'
- ' subclasses when key is not in the dictionary.\n'
- '\n'
'object.__setitem__(self, key, value)\n'
'\n'
' Called to implement assignment to "self[key]". Same note '
@@ -9229,6 +9213,12 @@
' raised for improper *key* values as for the '
'"__getitem__()" method.\n'
'\n'
+ 'object.__missing__(self, key)\n'
+ '\n'
+ ' Called by "dict"."__getitem__()" to implement "self[key]" '
+ 'for dict\n'
+ ' subclasses when key is not in the dictionary.\n'
+ '\n'
'object.__iter__(self)\n'
'\n'
' This method is called when an iterator is required for a '
@@ -10878,8 +10868,11 @@
'restored to their previous values (before the call) when returning\n'
'from a function that handled an exception.\n'
'\n'
- 'The optional "else" clause is executed if and when control flows off\n'
- 'the end of the "try" clause. [2] Exceptions in the "else" clause are\n'
+ 'The optional "else" clause is executed if the control flow leaves '
+ 'the\n'
+ '"try" suite, no exception was raised, and no "return", "continue", '
+ 'or\n'
+ '"break" statement was executed. Exceptions in the "else" clause are\n'
'not handled by the preceding "except" clauses.\n'
'\n'
'If "finally" is present, it specifies a ‘cleanup’ handler. The '
@@ -12267,8 +12260,8 @@
'\n'
' Changed in version 3.7: Dictionary order is guaranteed to '
'be\n'
- ' insertion order. This behavior was implementation detail '
- 'of\n'
+ ' insertion order. This behavior was an implementation '
+ 'detail of\n'
' CPython from 3.6.\n'
'\n'
'See also: "types.MappingProxyType" can be used to create a '