diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index be1d10e4a49..b983a98b579 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -424,6 +424,9 @@ when the function is called. The function definition does not execute the function body; this gets executed only when the function is called. +.. index:: + statement: @ + A function definition may be wrapped by one or more :term:`decorator` expressions. Decorator expressions are evaluated when the function is defined, in the scope that contains the function definition. The result must be a callable, which is @@ -464,6 +467,10 @@ as the default, and explicitly test for it in the body of the function, e.g.:: penguin.append("property of the zoo") return penguin +.. index:: + statement: * + statement: ** + Function call semantics are described in more detail in section :ref:`calls`. A function call always assigns values to all parameters mentioned in the parameter list, either from position arguments, from keyword arguments, or from default diff --git a/Doc/tutorial/controlflow.rst b/Doc/tutorial/controlflow.rst index 420c8d9a44d..61a621f416f 100644 --- a/Doc/tutorial/controlflow.rst +++ b/Doc/tutorial/controlflow.rst @@ -437,6 +437,9 @@ not done, the order in which the arguments are printed is undefined. Arbitrary Argument Lists ------------------------ +.. index:: + statement: * + Finally, the least frequently used option is to specify that a function can be called with an arbitrary number of arguments. These arguments will be wrapped up in a tuple. Before the variable number of arguments, zero or more normal @@ -464,6 +467,9 @@ or tuple:: >>> range(*args) # call with arguments unpacked from a list [3, 4, 5] +.. index:: + statement: ** + In the same fashion, dictionaries can deliver keyword arguments with the ``**``\ -operator::