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
ここで何かが足りませんか?