mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
bpo-21314: Add a FAQ entry about positional only parameters (GH-10641)
This commit is contained in:
parent
11205b8030
commit
1aeeaeb79e
4 changed files with 47 additions and 0 deletions
|
|
@ -767,6 +767,41 @@ Yes. Usually this is done by nesting :keyword:`lambda` within
|
|||
Don't try this at home, kids!
|
||||
|
||||
|
||||
.. _faq-positional-only-arguments:
|
||||
|
||||
What does the slash(/) in the parameter list of a function mean?
|
||||
----------------------------------------------------------------
|
||||
|
||||
A slash in the argument list of a function denotes that the parameters prior to
|
||||
it are positional-only. Positional-only parameters are the ones without an
|
||||
externally-usable name. Upon calling a function that accepts positional-only
|
||||
parameters, arguments are mapped to parameters based solely on their position.
|
||||
For example, :func:`pow` is a function that accepts positional-only parameters.
|
||||
Its documentation looks like this::
|
||||
|
||||
>>> help(pow)
|
||||
Help on built-in function pow in module builtins:
|
||||
|
||||
pow(x, y, z=None, /)
|
||||
Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
|
||||
|
||||
Some types, such as ints, are able to use a more efficient algorithm when
|
||||
invoked using the three argument form.
|
||||
|
||||
The slash at the end of the parameter list means that all three parameters are
|
||||
positional-only. Thus, calling :func:`pow` with keyword aguments would lead to
|
||||
an error::
|
||||
|
||||
>>> pow(x=3, y=4)
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
TypeError: pow() takes no keyword arguments
|
||||
|
||||
Note that as of this writing this is only documentational and no valid syntax
|
||||
in Python, although there is :pep:`570`, which proposes a syntax for
|
||||
position-only parameters in Python.
|
||||
|
||||
|
||||
Numbers and strings
|
||||
===================
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue