Python pow() 函数

Python pow() 语法

pow() 是 Python 的一个内置函数,它用于求某个数的幂。

语法:

pow(x, y, z=None)

说明:

pow() 函数接收以下 3 个参数。

  • x(必选):底数,支持整数、浮点数和复数类型。
  • y(必选):指数,支持整数、浮点数和复数类型。
  • z(可选):模数,必须为整数且不能为 0。当提供 z 时,x 和 y 必须为整数。

注意: 在 Python 3.8 及以上版本中,如果 y 为负数,则 x 必须与 z 互质(此时计算的是模逆元)。

对于 pow() 的返回值,可以分为以下 2 种情况:

  • 当 z 未提供时:返回 x 的 y 次幂,类型根据输入类型自动判断。
  • 当 z 提供时:返回 (x**y) % z 的优化计算结果(始终为整数)。但通过模幂优化算法实现,避免中间结果过大,特别适合密码学计算。

注意:

  • pow() 并不属于 math 模块,而是 Python 的内置函数。因此我们在使用时,不需要导入 math 模块,而是可以直接使用。
  • ** 运算符优先级高于 +/-,低于 ()。比如, 2**3 * 2 等价于 (2**3) * 2 = 16。

Python pow() 摘要

使用频率
时间复杂度 O(log y)(使用快速幂算法优化)
官方文档 查看
相关函数 abs()round()divmod()

Python pow() 示例

接下来,我们通过几个简单的例子来讲解一下 Python pow() 函数是如何使用的。

示例 1:pow() 带 2 个参数

print(pow(4, 3))       # 整数
print(pow(2.5, 2))     # 浮点数
print(pow(1+2j, 2))    # 复数

运行结果如下。

64
6.25
(-3+4j)

分析:

pow(4, 3) 表示求 4 的 3 次幂,也就是 43

提示: pow(x, y) 等价于 x ** y。

示例 2:pow() 带 3 个参数

print(pow(4, 3, 5))
print(pow(3, 4, -7))

运行结果如下。

4
-3

分析:

pow(4, 3, 5) 表示求 4 的 3 次幂,并且模为 5,也就是求 (4 * 4 * 4) % 5 的值。而 pow(3, 4, -7)  表示求 3 的 4 次幂,然后对 -7 取模,即计算  (3 ​**​ 4) % -7。

示例 3:pow() 边界情况

# 负指数
print(pow(2, -3))

# 复数指数
print(pow(4, 0.5j))

运行结果如下。

0.125
(0.7692389013639721+0.6389612763136348j)

求幂的 3 种方式

在 Python 中,想要求某个数的幂,有以下 3 种方式:

  • 使用 pow() 函数。
  • 使用 math.pow() 方法。
  • 使用 “**” 运算符。
求幂的 3 种方式对比
方式 语法 说明
pow() pow(x, y, z) 支持模运算,返回类型灵活,复数兼容
math.pow() math.pow(x, y) 始终返回 float,不支持复数和三参数
** x ** y 语法简洁,不支持模运算

示例 4:求幂的 3 种方式

import math

result1 = pow(2, 3)
print(result1)

result2 = math.pow(2, 3)
print(result2)

result3 = 2 ** 3
print(result3)

运行结果如下。

8
8.0
8

上一篇: round()

下一篇: divmod()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号