这应该是不言自明的
>>> (1+2j).real #Normal Usage
1.0
>>> (1+2j).imag #Normal Usage
2.0
>>> 1+2j.real #Normal Usage
1.0
>>> 1+2j.imag #Flips Out
3.0
>>> 123+657j.real
123.0
>>> 123+657j.imag
780.0
z.imag
以某种方式将实部和虚部相加。我发现这很有趣..这是错误还是故意的功能?
最佳答案
问题是1+2j.imag
被解析为1+(2j.imag)
。显然2j.imag
是2.0
,所以1+2j
返回3.0
。当您执行1+2j.real
时,Python将添加1
和2j.real
。 2j.real
是0.0
,因此您将获得正确的答案1.0
。
如果您将复数括起来,如前两个示例中所示,您将获得预期的结果。