###### tags: `Python` # Python 的虛數 j 在 Python 中是使用 j 作為虛數單位, 但 j 也可以用來當識別字, 因此使用上要特別注意。 ## 一定要加上數量 使用虛數時, j 的前面一定要有數量, 例如, 要計算 $\sqrt{-1} \times \sqrt{-1}$ 就一定要寫成: ```python >>> 1j * 1j (-1+0j) ``` 數量甚至可以是 0: ```python >>> 0j 0j ``` 如果沒有數量, 只有 j, 就會被當成一般的識別字: ```python >>> j Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'j' is not defined name 'j' is not defined ``` ## 別用 j 當識別字 當然, 你也可以把 j 真的拿來當識別字使用, 例如: ```python >>> j = 1j >>> j 1j ``` 只是當然這並不是好作法, 既容易混淆, 也不容易看懂, 所以最好不要這樣做。 ## 用括號不嫌煩地把複數括起來 將 j 應用在複數時, 請記得用括號將實部與虛部節合在一起, 避免會當成是一個實數和一個只有虛部的複數, 例如以下就會算出錯誤的結果: ```python >>> 1+2j.imag 3.0 ``` 原本想要計算複數 1+2j 的虛部, 結果因為 . 的優先權大於 +, 導致結果變成 1+(2j.imag) 了。如果不嫌麻煩加上括號就不會出錯: ```python >>> (1+2j).imag 2.0 ```