您的“關注”和“點贊”,是信任,是認可,是支持,是動力......
如意見相佐,可留言,
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新,

- 1 復數資料型別概述
- 2 從復數中提取實部和虛部
- 3 相關函式 complex()
- 3.1 complex() 函式概述
- 3.2 注意事項
- 4 文章其他地址
- 4.1 微信公眾號:碼農阿杰
- 4.2 CSDN 博客
- 5 參考資料
- 5.1 Python 3.8.2 documentation
1 復數資料型別概述
復數資料型別,簡稱復數型別,
在 Python 中用complex表示,
復數型別是 Python 的內置型別,直接書寫即可,
復數由實部(real part)和虛部(imaginary part)構成,分別以一個浮點數表示,
在 Python 中,復數的虛部以小寫字母j或者大寫字母J作為后綴(虛數單位),具體格式如下所示:
a + bj 或 a + bJ
說明:
- a 表示實部;
- b 表示虛部,
實體如下所示:
complex1 = 22 + 12j
print('complex1 =', complex1)
print('complex1 的型別為:', type(complex1))
運行結果:
complex1 = (22+12j)
complex1 的型別為: <class 'complex'>
2 從復數中提取實部和虛部
要從一個復數 z 中提取這兩個部分,可使用 z.real 和 z.imag, 如下所示:
complex1 = 22 + 12j
print('復數 complex1 中的實部為:', complex1.real)
print('復數 complex1 中的虛部為:', complex1.imag)
運行結果:
復數 complex1 中的實部為: 22.0
復數 complex1 中的虛部為: 12.0
3 相關函式 complex()
3.1 complex() 函式概述
class complex([real[,imag]])
說明:
- 回傳值:回傳值為
real + imag*1j的復數,或將字串或數字轉換為復數,如下例一所示, - 如果第一個形參是字串,則它被解釋為一個復數,并且函式呼叫時必須沒有第二個形參,如下例二所示,
- 第二個形參不能是字串,如下例三所示,
- 每個實參都可以是任意的數值型別(包括復數),
- 如果省略了
imag,則默認值為零,建構式會像int和float一樣進行數值轉換,如下例四所示, - 如果兩個實參都省略,則回傳
0j,如下例五所示,
實體如下所示:
例一,
complex_demo1 = complex('22') # 將字串 "22" 轉換為復數
print('complex_demo1 =', complex_demo1)
complex_demo2 = complex(22) # 將數字 22 轉換為復數
print('complex_demo2 =', complex_demo2)
運行結果:
complex_demo1 = (22+0j)
complex_demo2 = (22+0j)
例二,
complex_demo3 = complex('22', 11) # 如果第一個形參是字串,則它被解釋為一個復數,并且函式呼叫時必須沒有第二個形參,否則會報錯
print('complex_demo3 =', complex_demo3)
運行結果:
complex_demo3 = complex('22', 11) # 如果第一個形參是字串,則它被解釋為一個復數,并且函式呼叫時必須沒有第二個形參,否則會報錯
TypeError: complex() can't take second arg if first is a string
例三,
complex_demo4 = complex(22, '11') # 第二個形參不能是字串,否則會報錯
print('complex_demo4 =', complex_demo4)
運行結果:
complex_demo4 = complex(22, '11') # 第二個形參不能是字串,否則會報錯
TypeError: complex() second arg can't be a string
例四,
complex_demo5 = complex(22) # 如果省略了 `imag`,則默認值為零,建構式會像`int` 和 `float` 一樣進行數值轉換
print('complex_demo5 =', complex_demo5)
運行結果:
complex_demo5 = (22+0j)
例五,
complex_demo6 = complex() # 如果兩個實參都省略,則回傳 `0j`
print('complex_demo6 =', complex_demo6)
運行結果:
complex_demo6 = 0j
3.2 注意事項
當從字串轉換時,字串在 + 或 - 的周圍(前后)必須不能有空格,如下所示:
complex_demo1 = complex('13+24j') # 當從字串轉換時,字串在 `+` 或 `-` 的周圍(前后)必須不能有空格,否則會報錯
# complex_demo1 = complex('13 + 24j') # 錯誤寫法
print('complex_demo1 =', complex_demo1)
complex_demo2 = complex('33-22j') # 當從字串轉換時,字串在 `+` 或 `-` 的周圍(前后)必須不能有空格,否則會報錯
# complex_demo2 = complex('33 - 22j') # 錯誤寫法
print('complex_demo2 =', complex_demo2)
運行結果:
complex_demo1 = (13+24j)
complex_demo2 = (33-22j)
4 文章其他地址
4.1 微信公眾號:碼農阿杰
4.2 CSDN 博客
5 參考資料
5.1 Python 3.8.2 documentation
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/155304.html
標籤:Python
