From: Saiyang Gou Date: Wed, 7 Apr 2021 19:32:24 +0000 (-0700) Subject: [3.8] bpo-36540: Improve doc of function definition regarding positional-only argumen... X-Git-Tag: v3.8.10~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4554ab435727a0f3b6441c9c1a8d3fe6534433c7;p=thirdparty%2FPython%2Fcpython.git [3.8] bpo-36540: Improve doc of function definition regarding positional-only arguments (GH-25235) (GH-25260) (cherry picked from commit 58d72cab89cf9652acc0bf0007aa20b2bcc98499) Co-authored-by: Saiyang Gou --- diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 61037d97a0c3..9dd471a0c83e 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -582,19 +582,25 @@ e.g.:: return penguin .. index:: + single: / (slash); function definition single: * (asterisk); function definition single: **; function definition 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 +list, either from positional arguments, from keyword arguments, or from default values. If the form "``*identifier``" is present, it is initialized to a tuple receiving any excess positional parameters, defaulting to the empty tuple. If the form "``**identifier``" is present, it is initialized to a new ordered mapping receiving any excess keyword arguments, defaulting to a new empty mapping of the same type. Parameters after "``*``" or "``*identifier``" are keyword-only parameters and may only be passed -used keyword arguments. +by keyword arguments. Parameters before "``/``" are positional-only parameters +and may only be passed by positional arguments. + +.. versionchanged:: 3.8 + The ``/`` function parameter syntax may be used to indicate positional-only + parameters. See :pep:`570` for details. .. index:: pair: function; annotations