summaryrefslogtreecommitdiffstats
path: root/Doc/faq
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/faq')
-rw-r--r--Doc/faq/programming.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index d33e25b..2d5d2b1 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -313,6 +313,27 @@ calling another function by using ``*`` and ``**``::
g(x, *args, **kwargs)
+.. _faq-argument-vs-parameter:
+
+What is the difference between arguments and parameters?
+--------------------------------------------------------
+
+:term:`Parameters <parameter>` are defined by the names that appear in a
+function definition, whereas :term:`arguments <argument>` are the values
+actually passed to a function when calling it. Parameters define what types of
+arguments a function can accept. For example, given the function definition::
+
+ def func(foo, bar=None, **kwargs):
+ pass
+
+*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling
+``func``, for example::
+
+ func(42, bar=314, extra=somevar)
+
+the values ``42``, ``314``, and ``somevar`` are arguments.
+
+
How do I write a function with output parameters (call by reference)?
---------------------------------------------------------------------