From: Saiyang Gou Date: Wed, 7 Apr 2021 19:32:48 +0000 (-0700) Subject: [3.9] bpo-36540: Improve doc of function definition regarding positional-only argumen... X-Git-Tag: v3.9.5~97 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b1cf202976d9590d5b453c47b883f2e7cd1a7a5;p=thirdparty%2FPython%2Fcpython.git [3.9] bpo-36540: Improve doc of function definition regarding positional-only arguments (GH-25235) (GH-25259) (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 7e666351b1b3..f7eca2aa8472 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -587,19 +587,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