python 中的复数

新手上路,请多包涵

复数是 Python 支持的数据类型吗?如果是这样,你如何使用它们?

原文由 I159 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 399
2 个回答

在python中,你可以在数字后面加上’j’或’J’来使它虚构,这样你就可以很容易地写出复杂的文字:

 >>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

“j”后缀来自电气工程,其中变量“i”通常用于表示电流。 ( 在这里找到推理。

复数的类型是 complex ,如果您愿意,可以将该类型用作构造函数:

 >>> complex(2,3)
(2+3j)

复数有一些内置访问器:

 >>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

几个内置函数支持复数:

 >>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

标准模块 cmath 具有更多处理复数的函数:

 >>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)

原文由 rob mayoff 发布,翻译遵循 CC BY-SA 3.0 许可协议

以下 复数 示例应该是不言自明的,包括末尾的错误消息

>>> 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
>>>

原文由 Abhijit 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题