g(x, *args, **kwargs)
+.. index::
+ single: argument; difference from parameter
+ single: parameter; difference from argument
+
.. _faq-argument-vs-parameter:
What is the difference between arguments and parameters?
function
A series of statements which returns some value to a caller. It can also
- be passed zero or more arguments which may be used in the execution of
- the body. See also :term:`argument` and :term:`method`.
+ be passed zero or more :term:`arguments <argument>` which may be used in
+ the execution of the body. See also :term:`parameter`, :term:`method`,
+ and the :ref:`function` section.
__future__
A pseudo-module which programmers can use to enable new language features
statement.
+.. index::
+ single: parameter; function definition
+
.. _function:
.. _def:
def func(): pass
func = f1(arg)(f2(func))
-.. index:: triple: default; parameter; value
+.. index::
+ triple: default; parameter; value
+ single: argument; function definition
-When one or more parameters have the form *parameter* ``=`` *expression*, the
-function is said to have "default parameter values." For a parameter with a
-default value, the corresponding argument may be omitted from a call, in which
+When one or more :term:`parameters <parameter>` have the form *parameter* ``=``
+*expression*, the function is said to have "default parameter values." For a
+parameter with a default value, the corresponding :term:`argument` may be
+omitted from a call, in which
case the parameter's default value is substituted. If a parameter has a default
value, all following parameters up until the "``*``" must also have a default
value --- this is a syntactic restriction that is not expressed by the grammar.
expressions.
+.. index::
+ object: callable
+ single: call
+ single: argument; call semantics
+
.. _calls:
Calls
-----
-.. index:: single: call
-
-.. index:: object: callable
-
-A call calls a callable object (e.g., a function) with a possibly empty series
-of arguments:
+A call calls a callable object (e.g., a :term:`function`) with a possibly empty
+series of :term:`arguments <argument>`:
.. productionlist::
call: `primary` "(" [`argument_list` [","] | `comprehension`] ")"
A trailing comma may be present after the positional and keyword arguments but
does not affect the semantics.
+.. index::
+ single: parameter; call semantics
+
The primary must evaluate to a callable object (user-defined functions, built-in
functions, methods of built-in objects, class objects, methods of class
instances, and all objects having a :meth:`__call__` method are callable). All
argument expressions are evaluated before the call is attempted. Please refer
-to section :ref:`function` for the syntax of formal parameter lists.
+to section :ref:`function` for the syntax of formal :term:`parameter` lists.
.. XXX update with kwonly args PEP