Commit 7bd081c1 authored by Eli Bendersky's avatar Eli Bendersky

Issue #12531: add index entries to documentation of * and ** in function calls

parent 43a976e3
...@@ -667,12 +667,15 @@ dictionary containing the excess keyword arguments (using the keywords as keys ...@@ -667,12 +667,15 @@ dictionary containing the excess keyword arguments (using the keywords as keys
and the argument values as corresponding values), or a (new) empty dictionary if and the argument values as corresponding values), or a (new) empty dictionary if
there were no excess keyword arguments. there were no excess keyword arguments.
.. index::
single: *; in function calls
If the syntax ``*expression`` appears in the function call, ``expression`` must If the syntax ``*expression`` appears in the function call, ``expression`` must
evaluate to a sequence. Elements from this sequence are treated as if they were evaluate to an iterable. Elements from this iterable are treated as if they
additional positional arguments; if there are positional arguments *x1*,..., were additional positional arguments; if there are positional arguments
*xN*, and ``expression`` evaluates to a sequence *y1*, ..., *yM*, this is *x1*, ... ,*xN*, and ``expression`` evaluates to a sequence *y1*, ..., *yM*,
equivalent to a call with M+N positional arguments *x1*, ..., *xN*, *y1*, ..., this is equivalent to a call with M+N positional arguments *x1*, ..., *xN*,
*yM*. *y1*, ..., *yM*.
A consequence of this is that although the ``*expression`` syntax may appear A consequence of this is that although the ``*expression`` syntax may appear
*after* some keyword arguments, it is processed *before* the keyword arguments *after* some keyword arguments, it is processed *before* the keyword arguments
...@@ -693,6 +696,9 @@ A consequence of this is that although the ``*expression`` syntax may appear ...@@ -693,6 +696,9 @@ A consequence of this is that although the ``*expression`` syntax may appear
It is unusual for both keyword arguments and the ``*expression`` syntax to be It is unusual for both keyword arguments and the ``*expression`` syntax to be
used in the same call, so in practice this confusion does not arise. used in the same call, so in practice this confusion does not arise.
.. index::
single: **; in function calls
If the syntax ``**expression`` appears in the function call, ``expression`` must If the syntax ``**expression`` appears in the function call, ``expression`` must
evaluate to a mapping, the contents of which are treated as additional keyword evaluate to a mapping, the contents of which are treated as additional keyword
arguments. In the case of a keyword appearing in both ``expression`` and as an arguments. In the case of a keyword appearing in both ``expression`` and as an
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment