1
1.10Python下cmath和复数
Posted by 撒得一地 on 2015年11月18日 in python教程
上一篇: 1.9Python模块
下一篇: 1.11Python下保存并执行程序
下一篇: 1.11Python下保存并执行程序
sqrt函数用于计算一个数的平方根。看看如果给它一个负数作为参数会如何:
>>>from math import sqrt >>> sqrt(-1) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: math domain error
如上:提示错误,显然不能用sqrt直接求负数的平方根。负数的平方根是虚数,而sqrt只能处理浮点数。这时候要用另外一个cmath(即complex math,复数)的模块来实现这些功能。如:
>>>import cmath >>>cmath.sqrt(-1) 1j
注意,这里不要使用from…import…语句,因为一旦使用这个语句,就没办法使用普通的sqrt函数。因为这里会引起命名冲突,所以除非真的需要用from这个形式的模块导入语句,否则应该使用普通的import。下面是个错误实例:
>>>from cmath import sqrt >>sqrt(4) (2+0j)
上面的1j、0j都是虚数,虚数均以j(或J)结尾。在Python中,可以直接对虚数进行运算,比如:
>>>(1+2j)*(1j+1) >>>(-1+3j)
Python语言本身就提供了对复数的支持,Python中没有单独的虚数类型,虚数被看作实数部分为0的复数。
上一篇: 1.9Python模块
下一篇: 1.11Python下保存并执行程序
下一篇: 1.11Python下保存并执行程序
1 Comment
只懂PHP,Python一窍不通。