我想知道 Python (3.3.0) 打印复数的方式。我正在寻找解释,而不是更改打印的方法。
例子:
>>> complex(1,1)-complex(1,1)
0j
为什么它不只打印“0”?我的猜测是:保持复杂类型的输出。
下一个例子:
>>> complex(0,1)*-1
(-0-1j)
好吧,一个简单的“-1j”或“(-1j)”就可以了。为什么是“-0”?这不是和+0一样吗?这似乎不是一个四舍五入的问题:
>>> (complex(0,1)*-1).real == 0.0
True
当虚部变为正数时,-0 消失:
>>> complex(0,1)
1j
>>> complex(0,1)*-1
(-0-1j)
>>> complex(0,1)*-1*-1
1j
还有一个例子:
>>> complex(0,1)*complex(0,1)*-1
(1-0j)
>>> complex(0,1)*complex(0,1)*-1*-1
(-1+0j)
>>> (complex(0,1)*complex(0,1)*-1).imag
-0.0
我在这里错过了什么吗?