首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python中的复数

python中的复数
EN

Stack Overflow用户
提问于 2011-12-04 04:12:41
回答 2查看 302.9K关注 0票数 141

在python中,复数是受支持的数据类型吗?如果是这样,您将如何使用它们?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-04 04:20:43

在python中,你可以把‘j’或‘J’放在一个数字后面,使它成为虚构的,这样你就可以很容易地写出复杂的文字:

代码语言:javascript
复制
>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

“j”后缀来自电气工程,其中变量“i”通常用于表示电流。(Reasoning found here.)

The type of a complex number is complex,如果您愿意,您可以将该类型用作构造函数:

代码语言:javascript
复制
>>> complex(2,3)
(2+3j)

复数有一些内置的存取器:

代码语言:javascript
复制
>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

有几个内置函数支持复数:

代码语言:javascript
复制
>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

The standard module cmath有更多处理复数的函数:

代码语言:javascript
复制
>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)
票数 229
EN

Stack Overflow用户

发布于 2011-12-04 04:18:10

下面的complex numbers示例应该是不言自明的,包括末尾的错误消息

代码语言:javascript
复制
>>> x=complex(1,2)
>>> print x
(1+2j)
>>> y=complex(3,4)
>>> print y
(3+4j)
>>> z=x+y
>>> print x
(1+2j)
>>> print z
(4+6j)
>>> z=x*y
>>> print z
(-5+10j)
>>> z=x/y
>>> print z
(0.44+0.08j)
>>> print x.conjugate()
(1-2j)
>>> print x.imag
2.0
>>> print x.real
1.0
>>> print x>y

Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    print x>y
TypeError: no ordering relation is defined for complex numbers
>>> print x==y
False
>>> 
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8370637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档