3.6 复数的数学运算

问题

需要使用复数来执行一些计算操作

解决方案

复数可以用使用函数 complex(real, imag) 或者是带有后缀j的浮点数来指定。比如:

>>> a = complex(2, 4)
>>> b = 3 - 5j
>>> a
(2+4j)
>>> b
(3-5j)

对应的实部、虚部和共轭复数可以很容易的获取。就像下面这样:

>>> a.real
2.0
>>> a.imag
4.0
>>> a.conjugate()
(2-4j)

另外,所有常见的数学运算都可以工作:

如果要执行其他的复数函数比如正弦、余弦或平方根,使用 cmath 模块:

讨论

Python中大部分与数学相关的模块都能处理复数。 比如如果你使用 numpy ,可以很容易的构造一个复数数组并在这个数组上执行各种操作:

Python的标准数学函数确实不能产生复数值,因此你的代码中不可能会出现复数返回值。比如:

如果你想生成一个复数返回结果,你必须显示的使用 cmath 模块,或者在某个支持复数的库中声明复数类型的使用。

Last updated

Was this helpful?