首页Python【Python内置函数】p...

【Python内置函数】pow()函数

Python 提供了许多内置函数,这些函数是Python语言的一部分,可以直接在Python程序中使用而无需导入任何模块。

本系列将会陆续整理分享一些的Python内置函数。

文章配套代码获取有以下两种途径:
  • 通过百度网盘获取:
链接:https://pan.baidu.com/s/11x9_wCZ3yiYOe5nVcRk2CQ?pwd=mnsj 提取码:mnsj
  • 前往GitHub获取
https://github.com/returu/Python_built-in_functions





01
简介

pow() 函数用于计算数值的幂次方。

pow() 函数的基本语法如下:

pow(base, exp, mod=None)
参数说明:
  • base:底数,必须是数值类型;
  • exp:指数,必须是数值类型;
  • mod:可选的模数参数必须是整数且非零。

返回值:

  • 两参数形式:pow(base,exp)等价于 base**exp,计算baseexp次幂;

  • 三参数形式:pow(base,exp,mod) 计算baseexp次幂对mod取模的结果,计算过程比pow(base, exp)%mod更高效。
02
使用

下面是一些使用 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_basebasemod的模逆元,即inv_basebase的倒数对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


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

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments