Tôi tự hỏi về cách Python (3.3.0) in số phức. Tôi đang tìm một lời giải thích, không phải là cách để thay đổi bản in.Định dạng số phức trong Python
Ví dụ:
>>> complex(1,1)-complex(1,1)
0j
Tại sao không phải nó chỉ in "0"? Tôi đoán là: để giữ đầu ra kiểu phức tạp.
dụ tiếp theo:
>>> complex(0,1)*-1
(-0-1j)
Vâng, một "-1j" đơn giản hoặc "(-1j)" đã có thể làm. Và tại sao "-0" ?? Không phải là giống như +0? Nó dường như không phải là một vấn đề làm tròn:
>>> (complex(0,1)*-1).real == 0.0
True
Và khi phần ảo được tích cực, -0 biến mất:
>>> complex(0,1)
1j
>>> complex(0,1)*-1
(-0-1j)
>>> complex(0,1)*-1*-1
1j
Tuy nhiên, một ví dụ:
>>> 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
Am Tôi thiếu cái gì ở đây?
Về 'phần 0j', đó là thực tế phổ biến trong python rằng 'eval (repr (x)) == x' –