说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 内置函数 pow() 可以求一个数的 n 次幂,即返回 x^y(x 的 y 次方) 的值。
以下是各种场景下的示例
pow(2, 2) # 4 = 2**2
pow(-2, 2) # 4 = (-2)**2
pow(2, -2) # 0.25 = 2**-2
pow(-2, -2) # 0.25 = (-2)**-2
# 第三个参数可对结果取模
pow(4, 4, 5) # 1 16/5=3...1
pow(2, 3, 6) # 2
它的语法如下:
pow(base, exp, mod=None)
返回 base**exp
的值,如果 mod 有传入,则返回 base**exp % mod
先求 n 次幂,再取模。
某些类型,例如 int,在使用三参数形式调用时能够使用更高效的算法。
参数必须是数字类型。对于混合操作数类型,二进制算术运算符的强制规则适用。
对于整型操作数,结果的类型与操作数的类型相同(强制后),除非第二个参数为负;在这种情况下,所有参数都转换为float,并传递一个float结果。例如,pow(10,2)返回100,但pow(10,-2)返回0.01。
对于int或float类型的负基和非整数指数,将给出一个复杂的结果。例如,pow(-9,0.5) 返回一个接近3j的值。
对于 int 操作数 base 和 exp,如果给出 mod,则 mod 必须为整数类型并且 mod 必须不为零。 如果给出 mod 并且 exp 为负值,则 base 必须相对于 mod 不可整除。 在这种情况下,将会返回 pow(inv_base, -exp, mod),其中 inv_base 为 base 的倒数对 mod 取余。
下面的例子是 38 的倒数对 97 取余:
pow(38, -1, mod=97)
# 23
23 * 38 % 97 == 1
# True
版本更新情况:
它与 **
操作以及 math.pow() 的区别为:
**
操作import math
math.pow(2, 2)
# 4.0
可以对对象实现 __pow__(), __rpow__() or __ipow__()
方法来支持 power 操作。
更新时间:2022-05-16 15:39:05 标签:python 数学 幂