Python 中的 math.inf 和 cmath.inf 有区别吗?

Is there a difference between math.inf and cmath.inf in Python?

提问人:Alec 提问时间:2/5/2023 最后编辑:Brian61354270Alec 更新时间:2/5/2023 访问量:95

问:

模块和模块返回的无穷大有什么区别吗?mathcmath

复无穷大的虚部数为 0 吗?

蟒蛇 python-3.x 复数 无穷大 python-cmath

评论


答:

4赞 Alec 2/5/2023 #1

有什么区别吗?

不,没有区别。根据文档,两者 和 都等价于 ,或浮点无穷大。math.infcmath.inffloat('inf')

如果你想要一个真正复杂的无穷大,它的实部为无穷大,虚部为0,你必须自己构建它:complex(math.inf, 0)

但是,如果您希望 0 作为实数值,将无穷大作为虚部,则有 。cmath.infj

构造虚无穷大

正如其他人所指出的,它比 .不过,我们谈论的是纳秒的数量级。math.inf + 0jcomplex(math.inf, 0)

评论

0赞 Brian61354270 2/5/2023
或者,可以构造为 或 。根据包络线背面的一些时序,,以明显的幅度最快(~60 ns,而 和 分别为 90 ns 和 120 ns)。complex(math.inf, 0)math.inf + 0jcomplex("inf")timeitmath.inf + 0jcomplex("inf")complex(math.inf, 0)
0赞 Alec 2/5/2023
@Brian编辑中注明
0赞 Trang Oul 3/9/2023
complex(math.inf)就够了;默认情况下,虚部为零(如果仅使用,则为实数)。无论如何,最好调整您的程序,使其也处理 s、s(或其他类型)而不是需要实例。所有数字类型都有部分,在实数的情况下等于 0。complex()floatintcompleximag