本系列将会陆续整理分享一些的Python内置函数。
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Python_built-in_functions
pow(base, exp, mod=None)
-
base:底数,必须是数值类型; -
exp:指数,必须是数值类型; -
mod:可选的模数参数必须是整数且非零。
返回值:
-
三参数形式:pow(base,exp,mod) 计算base的exp次幂对mod取模的结果,计算过程比pow(base, exp)%mod更高效。
下面是一些使用 pow() 函数的示例:
-
示例 1:基本使用
# 两参数形式
print(pow(10, 2))
# 输出:100
print(pow(-10, 2))
# 输出:100
print(pow(10, -2))
# 输出:0.01
print(pow(-10, -2))
# 输出:0.01
# 如果 base 和 exp 是不同类型的数值,会根据二元算术运算符的类型转换规则进行转换
print(pow(-9, 2.0))
# 输出:81.0
print(pow(-9.0, 2))
# 输出:81.0
print(pow(-9, 2))
# 输出:81
# 对于负数 base 且 exp 为非整数时,返回复数结果
print(pow(-9, 0.5))
# 输出:(1.8369701987210297e-16+3j),即接近 3j 的复数
-
示例 2:模幂运算注意事项
如果 exp 为负数且给定 mod,则 base 必须与 mod 互质。
此时函数返回的是base的模逆元的-exp次幂对mod取模的结果,即pow(inv_base, -exp, mod),其中inv_base是base对mod的模逆元,即inv_base是base的倒数对mod取余。
例如,要计算pow(base=3, exp=-2, mod=7)的结果:
# exp为负数且给定 mod
pow(base=3, exp=-2, mod=7)
# 输出 4
首先,计算 inv_base ,即 base 的倒数对 mod 取余:
# 计算 inv_base ,即 base 的倒数对 mod 取余
pow(3, -1, 7)
# 输出 5
因此,pow(base,exp,mod)返回的结果等价于pow(inv_base,-exp,mod):
# 此时返回的结果为:pow(inv_base, -exp, mod) = pow(5, 2, 7)
pow(5, 2, 7)
# 输出 4


本篇文章来源于微信公众号: 码农设计师