前言
復(fù)習(xí)試題時,發(fā)現(xiàn)一道復(fù)數(shù)問題
問題
關(guān)于 Python 的復(fù)數(shù)類型,以下選項(xiàng)中描述錯誤的是
A復(fù)數(shù)的虛數(shù)部分通過后綴“J”或者“j”來表示
B對于復(fù)數(shù) z,可以用 z.real 獲得它的實(shí)數(shù)部分
C對于復(fù)數(shù) z,可以用 z.imag 獲得它的實(shí)數(shù)部分
D復(fù)數(shù)類型表示數(shù)學(xué)中的復(fù)數(shù)
正確答案: C
首先我們來明確一下什么是復(fù)數(shù): 復(fù)數(shù)在數(shù)學(xué)上面的定義是由實(shí)數(shù)部分和虛數(shù)部分所組成的數(shù),形如a+bj .
其中a、b為實(shí)數(shù),j為“虛數(shù)單位”,j 的平方等于-1.a、b分別叫做復(fù)數(shù)a+bj的實(shí)部和虛部。
下面讓我們在Python中定義一個復(fù)數(shù):real + imag(虛部的單位可以是j或者J)
# 輸出這個復(fù)數(shù)a
# 獲取實(shí)部
# 獲取虛部
# 獲取該復(fù)數(shù)的共軛復(fù)數(shù)
# 讓我們通過complex函數(shù)來定義一個復(fù)數(shù)
a = complex(1, 2)
b = complex(1)
c = complex("1")
d = complex("1+2j")
# 運(yùn)行結(jié)果
![](/d/20211017/268554fe1ed8a225c12b919098963e08.gif)
補(bǔ)充:Python 復(fù)數(shù)及運(yùn)算類型問題
在做題的時候遇到了這樣的問題:
![](/d/20211017/c7dcec5f7c0f4d468fe14edcf2657d55.gif)
按照數(shù)學(xué)上的知識,我們通常會認(rèn)為實(shí)部是1.23e+4,也就是12300;虛部是9.87e+6,也就是9870000。
但是程序運(yùn)行結(jié)果卻不是這樣:
![](/d/20211017/4d940864ca70aa14653f3890c955b8fd.gif)
為什么和我們想象的不一樣呢,這里面涉及到兩個問題:
1、實(shí)部虛部問題
2、結(jié)果類型問題
再來看一些例子:
![](/d/20211017/e2777e88bcadac717a4dafaca33f90d2.gif)
![](/d/20211017/b9b2473a2130853d40918859eeeb606e.gif)
![](/d/20211017/056aff1178378340ebf26683c27d9199.gif)
通過上述例子可以看出,如果我們使用復(fù)數(shù)>.imag>的方式來獲取虛部,那么計算機(jī)就會將這個復(fù)數(shù)的實(shí)部和虛部相加,并且以浮點(diǎn)數(shù)的類型返回。而如果要獲取我們通常理解意義上的虛部,則要將這個復(fù)數(shù)賦給一個變量,通過變量>.imag>的方式獲取,就能得到“a + bi”模式的虛部。
![](/d/20211017/3bf8422b997d4bacfe61f5a589758ee9.gif)
實(shí)部的獲取相對容易理解,不是緊跟 j 的就是實(shí)部,同樣以浮點(diǎn)數(shù)的類型返回。
另一個問題就是運(yùn)算類型的問題,Python中有三種數(shù)據(jù)類型:整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)。這三種類型數(shù)據(jù)混合參與運(yùn)算時,結(jié)果的類型采用“最寬范圍”的類型,復(fù)數(shù)類型范圍最寬,整數(shù)最窄。
在上述例子中,復(fù)數(shù)的實(shí)部、虛部不會是復(fù)數(shù)類型,則以次于復(fù)數(shù)類型的浮點(diǎn)數(shù)類型返回。
再列出一些運(yùn)算的例子:
![](/d/20211017/1dc6fad9a91a74a027f6eec5a8d956b9.gif)
![](/d/20211017/a0c90a2005a65c7d2a8c70dbbd8fe102.gif)
當(dāng)然,如果類型保持一致,則以同樣類型返回運(yùn)算結(jié)果(類型一致也就是最寬的類型就是他本身的類型)
上述是我通過實(shí)驗(yàn)總結(jié)出來的,沒有查找權(quán)威參考資料,若有不正確的地方希望指正。
您可能感興趣的文章:- python 如何將兩個實(shí)數(shù)矩陣合并為一個復(fù)數(shù)矩陣
- python中復(fù)數(shù)的共軛復(fù)數(shù)知識點(diǎn)總結(jié)
- python列表返回重復(fù)數(shù)據(jù)的下標(biāo)
- python print出共軛復(fù)數(shù)的方法詳解
- Python對多屬性的重復(fù)數(shù)據(jù)去重實(shí)例
- Python3 實(shí)現(xiàn)隨機(jī)生成一組不重復(fù)數(shù)并按行寫入文件
- Python復(fù)數(shù)屬性和方法運(yùn)算操作示例