diff options
author | Eli Bendersky <eliben@gmail.com> | 2011-07-30 04:05:16 (GMT) |
---|---|---|
committer | Eli Bendersky <eliben@gmail.com> | 2011-07-30 04:05:16 (GMT) |
commit | 7bd081c1179e0dd7f7f325ff07a2b50f1f760db0 (patch) | |
tree | 89635b55a9c2d901d0ef2e843a968241cc71b661 | |
parent | 43a976e3d9575233a7953b928f324d5f136ccfbf (diff) | |
download | cpython-7bd081c1179e0dd7f7f325ff07a2b50f1f760db0.zip cpython-7bd081c1179e0dd7f7f325ff07a2b50f1f760db0.tar.gz cpython-7bd081c1179e0dd7f7f325ff07a2b50f1f760db0.tar.bz2 |
Issue #12531: add index entries to documentation of * and ** in function calls
-rw-r--r-- | Doc/reference/expressions.rst | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index f882952..d85a9c6 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -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 there were no excess keyword arguments. +.. index:: + single: *; in function calls + 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 -additional positional arguments; if there are positional arguments *x1*,..., -*xN*, and ``expression`` evaluates to a sequence *y1*, ..., *yM*, this is -equivalent to a call with M+N positional arguments *x1*, ..., *xN*, *y1*, ..., -*yM*. +evaluate to an iterable. Elements from this iterable are treated as if they +were additional positional arguments; if there are positional arguments +*x1*, ... ,*xN*, and ``expression`` evaluates to a sequence *y1*, ..., *yM*, +this is equivalent to a call with M+N positional arguments *x1*, ..., *xN*, +*y1*, ..., *yM*. A consequence of this is that although the ``*expression`` syntax may appear *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 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. +.. index:: + single: **; in function calls + If the syntax ``**expression`` appears in the function call, ``expression`` must 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 |