python 複數是什麼意思

disable發表於2021-09-11

python 複數是什麼意思

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方法,呼叫它可以返回該複數的共軛複數物件。

相關推薦:《》

>>> aComplex = 1.56 + 1.2j
>>> aComplex
(1.56+1.2j)
>>> bComplex = 1 - 1j
>>> bComplex
(1-1j)
>>> aComplex.real
1.56
>>> aComplex.imag
1.2
>>> aComplex - bComplex
(0.56+2.2j)
>>> abs(aComplex) #返回複數的模長
1.968146336022807
>>> aComplex.conjugate
<built-in method conjugate of complex object at 0x00000224D6C11E10>
>>> aComplex.conjugate()
(1.56-1.2j)

python 複數是什麼意思

2、complex()函式

complex()函式用於建立一個複數或者將一個數或字串轉換為複數形式,其返回值為一個複數。該函式的語法為:

class complex(real,imag)

其中,real可以為int、long、float或字串型別;而image只能為int、long、或float型別。

注意:如果第一個引數為字串,第二個引數必須省略,若第一個引數為其他型別,則第二個引數可以選擇。例項:

>>> 1 + 1j
(1+1j)
>>> complex(1) #數字
(1+0j)
>>> complex(1,2)
(1+2j)
>>> complex("1") #當做字串處理
(1+0j)
complex("1 + 2j") #會出錯,+號兩邊不能有空格,否則會報錯
>>> complex("1+2.0j")
(1+2j)

第一個引數為字串,還新增第二個引數時會報錯:

>>> complex("x",15)
TypeError: complex() can't take second arg if first is a string

3、複數的舊式格式化輸出

在格式化輸出時,使用%r或%s都可以。

在輸出複數時,%r和%s的效果如下:

a = 4.7+0.666j
print('%r的效果是:', end='')
print('%r' % a)
print('%s的效果是:', end='')
print('%s' % a)

輸出結果:

%r的效果是:(4.7+0.666j)
%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’

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/200/viewspace-2836112/,如需轉載,請註明出處,否則將追究法律責任。

相關文章