1

1.10Python下cmath和复数

Posted by 撒得一地 on 2015年11月18日 in python教程

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的复数。

本文地址:http://coderschool.cn/1086.html

标签:

上一篇:

下一篇:

相关推荐

1 Comment

Comments are closed. Would you like to contact the author directly?
网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.