[Python-checkins] cpython: Update pydoc topics for 3.6.0a2

ned.deily python-checkins at python.org
Mon Jun 13 23:56:24 EDT 2016


https://hg.python.org/cpython/rev/58c90eacf9e7
changeset:   101993:58c90eacf9e7
parent:      101978:bb67de625cb2
user:        Ned Deily <nad at python.org>
date:        Mon Jun 13 16:51:55 2016 -0400
summary:
  Update pydoc topics for 3.6.0a2

files:
  Lib/pydoc_data/topics.py |  202 ++++++++++++++++----------
  1 files changed, 122 insertions(+), 80 deletions(-)


diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon May 16 13:41:38 2016
+# Autogenerated by Sphinx on Mon Jun 13 16:49:58 2016
 topics = {'assert': '\n'
            'The "assert" statement\n'
            '**********************\n'
@@ -47,12 +47,12 @@
                'to\n'
                'modify attributes or items of mutable objects:\n'
                '\n'
-               '   assignment_stmt ::= (target_list "=")+ (expression_list | '
-               'yield_expression)\n'
+               '   assignment_stmt ::= (target_list "=")+ (starred_expression '
+               '| yield_expression)\n'
                '   target_list     ::= target ("," target)* [","]\n'
                '   target          ::= identifier\n'
-               '              | "(" target_list ")"\n'
-               '              | "[" target_list "]"\n'
+               '              | "(" [target_list] ")"\n'
+               '              | "[" [target_list] "]"\n'
                '              | attributeref\n'
                '              | subscription\n'
                '              | slicing\n'
@@ -89,35 +89,42 @@
                'parentheses or square brackets, is recursively defined as '
                'follows.\n'
                '\n'
-               '* If the target list is a single target: The object is '
-               'assigned to\n'
-               '  that target.\n'
+               '* If the target list is empty: The object must also be an '
+               'empty\n'
+               '  iterable.\n'
                '\n'
-               '* If the target list is a comma-separated list of targets: '
-               'The\n'
-               '  object must be an iterable with the same number of items as '
-               'there\n'
-               '  are targets in the target list, and the items are assigned, '
-               'from\n'
-               '  left to right, to the corresponding targets.\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'
                '\n'
                '  * If the target list contains one target prefixed with an\n'
-               '    asterisk, called a "starred" target: The object must be a '
-               'sequence\n'
-               '    with at least as many items as there are targets in the '
-               'target\n'
-               '    list, minus one.  The first items of the sequence are '
-               'assigned,\n'
-               '    from left to right, to the targets before the starred '
-               'target.  The\n'
-               '    final items of the sequence are assigned to the targets '
-               'after the\n'
-               '    starred target.  A list of the remaining items in the '
-               'sequence is\n'
-               '    then assigned to the starred target (the list can be '
-               'empty).\n'
+               '    asterisk, called a "starred" target: The object must be '
+               'an\n'
+               '    iterable with at least as many items as there are targets '
+               'in the\n'
+               '    target list, minus one.  The first items of the iterable '
+               'are\n'
+               '    assigned, from left to right, to the targets before the '
+               'starred\n'
+               '    target.  The final items of the iterable are assigned to '
+               'the\n'
+               '    targets after the starred target.  A list of the remaining '
+               'items\n'
+               '    in the iterable is then assigned to the starred target '
+               '(the list\n'
+               '    can be empty).\n'
                '\n'
-               '  * Else: The object must be a sequence with the same number '
+               '  * Else: The object must be an iterable with the same number '
                'of\n'
                '    items as there are targets in the target list, and the '
                'items are\n'
@@ -149,14 +156,6 @@
                'destructor (if it\n'
                '  has one) to be called.\n'
                '\n'
-               '* If the target is a target list enclosed in parentheses or '
-               'in\n'
-               '  square brackets: The object must be an iterable with the '
-               'same number\n'
-               '  of items as there are targets in the target list, and its '
-               'items are\n'
-               '  assigned, from left to right, to the corresponding targets.\n'
-               '\n'
                '* If the target is an attribute reference: The primary '
                'expression in\n'
                '  the reference is evaluated.  It should yield an object with\n'
@@ -1148,18 +1147,18 @@
           '   call                 ::= primary "(" [argument_list [","] | '
           'comprehension] ")"\n'
           '   argument_list        ::= positional_arguments ["," '
-          'keyword_arguments]\n'
-          '                       ["," "*" expression] ["," '
-          'keyword_arguments]\n'
-          '                       ["," "**" expression]\n'
-          '                     | keyword_arguments ["," "*" expression]\n'
-          '                       ["," keyword_arguments] ["," "**" '
-          'expression]\n'
-          '                     | "*" expression ["," keyword_arguments] ["," '
-          '"**" expression]\n'
-          '                     | "**" expression\n'
-          '   positional_arguments ::= expression ("," expression)*\n'
-          '   keyword_arguments    ::= keyword_item ("," keyword_item)*\n'
+          'starred_and_keywords]\n'
+          '                       ["," keywords_arguments]\n'
+          '                     | starred_and_keywords ["," '
+          'keywords_arguments]\n'
+          '                     | keywords_arguments\n'
+          '   positional_arguments ::= ["*"] expression ("," ["*"] '
+          'expression)*\n'
+          '   starred_and_keywords ::= ("*" expression | keyword_item)\n'
+          '                            ("," "*" expression | "," '
+          'keyword_item)*\n'
+          '   keywords_arguments   ::= (keyword_item | "**" expression)\n'
+          '                          ("," keyword_item | "**" expression)*\n'
           '   keyword_item         ::= identifier "=" expression\n'
           '\n'
           'An optional trailing comma may be present after the positional and\n'
@@ -1235,20 +1234,21 @@
           '\n'
           'If the syntax "*expression" appears in the function call, '
           '"expression"\n'
-          'must evaluate to an iterable.  Elements from this iterable are '
-          'treated\n'
-          'as if they were additional positional arguments; if there are\n'
-          'positional arguments *x1*, ..., *xN*, and "expression" evaluates to '
-          'a\n'
-          'sequence *y1*, ..., *yM*, this is equivalent to a call with M+N\n'
-          'positional arguments *x1*, ..., *xN*, *y1*, ..., *yM*.\n'
+          'must evaluate to an *iterable*.  Elements from these iterables are\n'
+          'treated as if they were additional positional arguments.  For the '
+          'call\n'
+          '"f(x1, x2, *y, x3, x4)", if *y* evaluates to a sequence *y1*, ...,\n'
+          '*yM*, this is equivalent to a call with M+4 positional arguments '
+          '*x1*,\n'
+          '*x2*, *y1*, ..., *yM*, *x3*, *x4*.\n'
           '\n'
           'A consequence of this is that although the "*expression" syntax '
           'may\n'
-          'appear *after* some keyword arguments, it is processed *before* '
-          'the\n'
-          'keyword arguments (and the "**expression" argument, if any -- see\n'
-          'below).  So:\n'
+          'appear *after* explicit keyword arguments, it is processed '
+          '*before*\n'
+          'the keyword arguments (and any "**expression" arguments -- see '
+          'below).\n'
+          'So:\n'
           '\n'
           '   >>> def f(a, b):\n'
           '   ...     print(a, b)\n'
@@ -1269,16 +1269,25 @@
           'arise.\n'
           '\n'
           'If the syntax "**expression" appears in the function call,\n'
-          '"expression" must evaluate to a mapping, the contents of which are\n'
-          'treated as additional keyword arguments.  In the case of a keyword\n'
-          'appearing in both "expression" and as an explicit keyword argument, '
-          'a\n'
-          '"TypeError" exception is raised.\n'
+          '"expression" must evaluate to a *mapping*, the contents of which '
+          'are\n'
+          'treated as additional keyword arguments.  If a keyword is already\n'
+          'present (as an explicit keyword argument, or from another '
+          'unpacking),\n'
+          'a "TypeError" exception is raised.\n'
           '\n'
           'Formal parameters using the syntax "*identifier" or "**identifier"\n'
           'cannot be used as positional argument slots or as keyword argument\n'
           'names.\n'
           '\n'
+          'Changed in version 3.5: Function calls accept any number of "*" '
+          'and\n'
+          '"**" unpackings, positional arguments may follow iterable '
+          'unpackings\n'
+          '("*"), and keyword arguments may follow dictionary unpackings '
+          '("**").\n'
+          'Originally proposed by **PEP 448**.\n'
+          '\n'
           'A call always returns some value, possibly "None", unless it raises '
           'an\n'
           'exception.  How this value is computed depends on the type of the\n'
@@ -1324,7 +1333,7 @@
           '\n'
           '   classdef    ::= [decorators] "class" classname [inheritance] ":" '
           'suite\n'
-          '   inheritance ::= "(" [parameter_list] ")"\n'
+          '   inheritance ::= "(" [argument_list] ")"\n'
           '   classname   ::= identifier\n'
           '\n'
           'A class definition is an executable statement.  The inheritance '
@@ -2261,7 +2270,7 @@
              '[parameter_list] ")" ["->" expression] ":" suite\n'
              '   decorators              ::= decorator+\n'
              '   decorator               ::= "@" dotted_name ["(" '
-             '[parameter_list [","]] ")"] NEWLINE\n'
+             '[argument_list [","]] ")"] NEWLINE\n'
              '   dotted_name             ::= identifier ("." identifier)*\n'
              '   parameter_list          ::= defparameter ("," defparameter)* '
              '["," [parameter_list_starargs]]\n'
@@ -2426,7 +2435,7 @@
              '\n'
              '   classdef    ::= [decorators] "class" classname [inheritance] '
              '":" suite\n'
-             '   inheritance ::= "(" [parameter_list] ")"\n'
+             '   inheritance ::= "(" [argument_list] ")"\n'
              '   classname   ::= identifier\n'
              '\n'
              'A class definition is an executable statement.  The inheritance '
@@ -2563,7 +2572,7 @@
              'Is semantically equivalent to:\n'
              '\n'
              '   iter = (ITER)\n'
-             '   iter = await type(iter).__aiter__(iter)\n'
+             '   iter = type(iter).__aiter__(iter)\n'
              '   running = True\n'
              '   while running:\n'
              '       try:\n'
@@ -3889,7 +3898,7 @@
          '   dict_display       ::= "{" [key_datum_list | dict_comprehension] '
          '"}"\n'
          '   key_datum_list     ::= key_datum ("," key_datum)* [","]\n'
-         '   key_datum          ::= expression ":" expression\n'
+         '   key_datum          ::= expression ":" expression | "**" or_expr\n'
          '   dict_comprehension ::= expression ":" expression comp_for\n'
          '\n'
          'A dictionary display yields a new dictionary object.\n'
@@ -3903,6 +3912,14 @@
          'value\n'
          'for that key will be the last one given.\n'
          '\n'
+         'A double asterisk "**" denotes *dictionary unpacking*. Its operand\n'
+         'must be a *mapping*.  Each mapping item is added to the new\n'
+         'dictionary.  Later values replace values already set by earlier\n'
+         'key/datum pairs and earlier dictionary unpackings.\n'
+         '\n'
+         'New in version 3.5: Unpacking into dictionary displays, originally\n'
+         'proposed by **PEP 448**.\n'
+         '\n'
          'A dict comprehension, in contrast to list and set comprehensions,\n'
          'needs two expressions separated with a colon followed by the usual\n'
          '"for" and "if" clauses. When the comprehension is run, the '
@@ -4384,13 +4401,30 @@
               'Expression lists\n'
               '****************\n'
               '\n'
-              '   expression_list ::= expression ( "," expression )* [","]\n'
+              '   expression_list    ::= expression ( "," expression )* [","]\n'
+              '   starred_list       ::= starred_item ( "," starred_item )* '
+              '[","]\n'
+              '   starred_expression ::= expression | ( starred_item "," )* '
+              '[starred_item]\n'
+              '   starred_item       ::= expression | "*" or_expr\n'
               '\n'
-              'An expression list containing at least one comma yields a '
-              'tuple.  The\n'
-              'length of the tuple is the number of expressions in the list.  '
-              'The\n'
-              'expressions are evaluated from left to right.\n'
+              'Except when part of a list or set display, an expression list\n'
+              'containing at least one comma yields a tuple.  The length of '
+              'the tuple\n'
+              'is the number of expressions in the list.  The expressions are\n'
+              'evaluated from left to right.\n'
+              '\n'
+              'An asterisk "*" denotes *iterable unpacking*.  Its operand must '
+              'be an\n'
+              '*iterable*.  The iterable is expanded into a sequence of items, '
+              'which\n'
+              'are included in the new tuple, list, or set, at the site of '
+              'the\n'
+              'unpacking.\n'
+              '\n'
+              'New in version 3.5: Iterable unpacking in expression lists, '
+              'originally\n'
+              'proposed by **PEP 448**.\n'
               '\n'
               'The trailing comma is required only to create a single tuple '
               '(a.k.a. a\n'
@@ -5220,7 +5254,7 @@
              '[parameter_list] ")" ["->" expression] ":" suite\n'
              '   decorators              ::= decorator+\n'
              '   decorator               ::= "@" dotted_name ["(" '
-             '[parameter_list [","]] ")"] NEWLINE\n'
+             '[argument_list [","]] ")"] NEWLINE\n'
              '   dotted_name             ::= identifier ("." identifier)*\n'
              '   parameter_list          ::= defparameter ("," defparameter)* '
              '["," [parameter_list_starargs]]\n'
@@ -5682,7 +5716,7 @@
            'the\n'
            'two steps are carried out separately for each clause, just as '
            'though\n'
-           'the clauses had been separated out into individiual import '
+           'the clauses had been separated out into individual import '
            'statements.\n'
            '\n'
            'The details of the first step, finding and loading modules are\n'
@@ -6016,7 +6050,7 @@
           'in\n'
           'square brackets:\n'
           '\n'
-          '   list_display ::= "[" [expression_list | comprehension] "]"\n'
+          '   list_display ::= "[" [starred_list | comprehension] "]"\n'
           '\n'
           'A list display yields a new list object, the contents being '
           'specified\n'
@@ -8305,6 +8339,14 @@
                  'object is bound in the local namespace as the defined '
                  'class.\n'
                  '\n'
+                 'When a new class is created by "type.__new__", the object '
+                 'provided as\n'
+                 'the namespace parameter is copied to a standard Python '
+                 'dictionary and\n'
+                 'the original object is discarded. The new copy becomes the '
+                 '"__dict__"\n'
+                 'attribute of the class object.\n'
+                 '\n'
                  'See also:\n'
                  '\n'
                  '  **PEP 3135** - New super\n'

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list