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方法,調用它可以返回該復數的共軛復數對象。

 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’

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM