Python 3.7中如何获取并打印复数的虚部J/j?
如何在Python 3.7中获取并打印复数的虚部
嘿,我懂你遇到的困扰了!你尝试用J或者x.J来获取复数的虚部,但这两种方式都踩了坑,所以才会抛出那些错误。
先给你掰扯清楚为啥报错:
- 当你写
x=2345+4.567J时,这里的J只是Python用来定义复数虚部的语法标记而已,它并不是一个能直接调用的变量,所以直接print(J)会触发NameError——Python根本找不到名叫J的变量。 - 复数对象本身压根没有
J这个属性,所以x.J会触发AttributeError,告诉你这个对象没这个属性。
正确的打开方式
Python的复数类型专门提供了两个属性来获取实部和虚部:
real:用来获取复数的实部imag:用来获取复数的虚部(注意是小写的imag,不是大写的J)
给你写个正确的代码示例:
x = 2345 + 4.567J # 获取并打印虚部 print(x.imag) # 输出结果:4.567 # 顺便可以看看实部 print(x.real) # 输出结果:2345.0
再回顾下你的错误场景
你之前的错误代码和对应报错是这样的:
x=2345+4.567J print(J)
报错信息:
Traceback (most recent call last):
File "<pyshell#132>", line 1, in
print(J)
NameError: name 'J' is not defined
以及这段代码:
print(x.J)
报错信息:
Traceback (most recent call last):
File "<pyshell#134>", line 1, in
print(x.J)
AttributeError: 'complex' object has no attribute 'J'
换成x.imag就能顺利拿到你想要的虚部值啦!
内容的提问来源于stack exchange,提问作者Puneet
相关产品推荐
相关产品推荐

