1 Python中的算數
虛數不能單獨存在,它們總是和一個值為0.0的實數部分一起構成一個復數
表示虛數的語法:real+imagj
實數部分和虛數部分都是浮點數
虛數部分必須有j或J
下面是些得數:
64.23+1j 4.34-8.5j 0.23-8.33j 1.23e-0.45+6.5e+0.83j -1.23-3.5j -0.34-0j
復數中的內建屬性
復數擁有數據屬性,分別為該復數的實數和虛數部分。復數還有conjugate方法,調用它可以返回該復數的共軛復數對象。
1 >>> aComplex = 1.56 + 1.2j
2 >>> aComplex 3 (1.56+1.2j) 4 >>> bComplex = 1 - 1j
5 >>> bComplex 6 (1-1j) 7 >>> aComplex.real 8 1.56
9 >>> aComplex.imag 10 1.2
11 >>> aComplex - bComplex 12 (0.56+2.2j) 13 >>> abs(aComplex) #返回復數的模長 14 1.968146336022807
15 >>> aComplex.conjugate 16 <built-in method conjugate of complex object at 0x00000224D6C11E10>
17 >>> aComplex.conjugate() 18 (1.56-1.2j)
屬性 | 描述 |
num.real | 該復數的實數部分 |
num.imag | 該復數的虛數部分 |
num.conjugat() | 返回該復數的共軛算數 |
complex()函數
2 complex()函數
complex()函數用於創建一個復數或者將一個數或字符串轉換為復數形式,其返回值為一個復數。該函數的語法為:
class complex(real,imag)
其中,real可以為int、long、float或字符串類型;而image只能為int、long、或float類型。
- 注意:如果第一個參數為字符串,第二個參數必須省略,若第一個參數為其他類型,則第二個參數可以選擇。實例:
1 >>> 1 + 1j
2 (1+1j) 3 >>> complex(1) #數字
4 (1+0j) 5 >>> complex(1,2) 6 (1+2j) 7 >>> complex("1") #當做字符串處理
8 (1+0j) 9 complex("1 + 2j") #會出錯,+號兩邊不能有空格,否則會報錯
10 >>> complex("1+2.0j") 11 (1+2j)
- 第一個參數為字符串,還添加第二個參數時會報錯:
>>> complex("x",15) TypeError: complex() can't take second arg if first is a string
3 復數的舊式格式化輸出
在格式化輸出時,使用%r或%s都可以。
在輸出復數時,%r和%s的效果如下:
1 a = 4.7+0.666j
2 print('%r的效果是:', end='') 3 print('%r' % a) 4 print('%s的效果是:', end='') 5 print('%s' % a)
輸出結果:
1 %r的效果是:(4.7+0.666j) 2 %s的效果是:(4.7+0.666j)
可見效果是一致的。
4 復數的format格式化輸出
(3)關於復數
“{0.real:.3f}{0.imag:+.3f}j”.format(4.2344+5.3445j) ==> ‘4.234+5.345j’
“{0.real:.3f}{0.imag:-.3f}j”.format(4.2344+5.3445j) ==> ‘4.234-5.345j’
前面的+-可以不寫讓他自己去判斷:
“{0.real:.3f}{0.imag:.3f}j”.format(4.2344+5.3445j) ==> ‘4.234+5.345j’
“{0.real:.3f}{0.imag:.3f}j”.format(4.2344+5.3445j) ==> ‘4.234-5.345j’