Python 複數數據類型詳解(complex)[學習 Python 必備基礎知識][看此一篇就夠了]

您的“關注”和“點贊”,是信任,是認可,是支持,是動力…

如意見相佐,可留言。
本人必將竭盡全力試圖做到準確和全面,終其一生進行修改補充更新。

在這裏插入圖片描述

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.realz.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,則默認值爲零,構造函數會像intfloat 一樣進行數值轉換。如下例四所示。
  • 如果兩個實參都省略,則返回 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 博客園

5 參考資料

5.1 Python 3.8.2 documentation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章