mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
bpo-38237: Make pow's arguments have more descriptive names and be keyword passable (GH-16302)
Edit: `math.pow` changes removed on Mark's request. https://bugs.python.org/issue38237 Automerge-Triggered-By: @rhettinger
This commit is contained in:
parent
e267793aa4
commit
87d6cd3604
6 changed files with 72 additions and 48 deletions
|
@ -779,26 +779,23 @@ 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::
|
||||
For example, :func:`divmod` is a function that accepts positional-only
|
||||
parameters. Its documentation looks like this::
|
||||
|
||||
>>> help(pow)
|
||||
Help on built-in function pow in module builtins:
|
||||
>>> help(divmod)
|
||||
Help on built-in function divmod in module builtins:
|
||||
|
||||
pow(x, y, z=None, /)
|
||||
Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
|
||||
divmod(x, y, /)
|
||||
Return the tuple (x//y, x%y). Invariant: div*y + mod == x.
|
||||
|
||||
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 both parameters are
|
||||
positional-only. Thus, calling :func:`divmod` with keyword arguments would lead
|
||||
to an error::
|
||||
|
||||
The slash at the end of the parameter list means that all three parameters are
|
||||
positional-only. Thus, calling :func:`pow` with keyword arguments would lead to
|
||||
an error::
|
||||
|
||||
>>> pow(x=3, y=4)
|
||||
>>> divmod(x=3, y=4)
|
||||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
TypeError: pow() takes no keyword arguments
|
||||
TypeError: divmod() takes no keyword arguments
|
||||
|
||||
|
||||
Numbers and strings
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue