mirror of
https://github.com/python/cpython.git
synced 2025-10-09 08:31:26 +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
|
@ -19,6 +19,7 @@ import types
|
|||
import unittest
|
||||
import warnings
|
||||
from contextlib import ExitStack
|
||||
from functools import partial
|
||||
from inspect import CO_COROUTINE
|
||||
from itertools import product
|
||||
from textwrap import dedent
|
||||
|
@ -1206,6 +1207,18 @@ class BuiltinTest(unittest.TestCase):
|
|||
|
||||
self.assertRaises(TypeError, pow)
|
||||
|
||||
# Test passing in arguments as keywords.
|
||||
self.assertEqual(pow(0, exp=0), 1)
|
||||
self.assertEqual(pow(base=2, exp=4), 16)
|
||||
self.assertEqual(pow(base=5, exp=2, mod=14), 11)
|
||||
twopow = partial(pow, base=2)
|
||||
self.assertEqual(twopow(exp=5), 32)
|
||||
fifth_power = partial(pow, exp=5)
|
||||
self.assertEqual(fifth_power(2), 32)
|
||||
mod10 = partial(pow, mod=10)
|
||||
self.assertEqual(mod10(2, 6), 4)
|
||||
self.assertEqual(mod10(exp=6, base=2), 4)
|
||||
|
||||
def test_input(self):
|
||||
self.write_testfile()
|
||||
fp = open(TESTFN, 'r')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue