淺談Python 中的復(fù)數(shù)問題
前言
復(fù)習(xí)試題時(shí),發(fā)現(xiàn)一道復(fù)數(shù)問題
問題
關(guān)于 Python 的復(fù)數(shù)類型,以下選項(xiàng)中描述錯(cuò)誤的是
A復(fù)數(shù)的虛數(shù)部分通過后綴“J”或者“j”來表示
B對(duì)于復(fù)數(shù) z,可以用 z.real 獲得它的實(shí)數(shù)部分
C對(duì)于復(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í)部和虛部。
下面讓我們?cè)赑ython中定義一個(gè)復(fù)數(shù):real + imag(虛部的單位可以是j或者J)
a = 6 + 0.6j
# 輸出這個(gè)復(fù)數(shù)a
print(a)
# 獲取實(shí)部
print(a.real)
# 獲取虛部
print(a.imag)
# 獲取該復(fù)數(shù)的共軛復(fù)數(shù)
print(a.conjugate())
# 讓我們通過complex函數(shù)來定義一個(gè)復(fù)數(shù)
a = complex(1, 2)
b = complex(1)
c = complex("1")
d = complex("1+2j")
# 運(yùn)行結(jié)果

補(bǔ)充:Python 復(fù)數(shù)及運(yùn)算類型問題
在做題的時(shí)候遇到了這樣的問題:

按照數(shù)學(xué)上的知識(shí),我們通常會(huì)認(rèn)為實(shí)部是1.23e+4,也就是12300;虛部是9.87e+6,也就是9870000。
但是程序運(yùn)行結(jié)果卻不是這樣:

為什么和我們想象的不一樣呢,這里面涉及到兩個(gè)問題:
1、實(shí)部虛部問題
2、結(jié)果類型問題
再來看一些例子:



通過上述例子可以看出,如果我們使用<復(fù)數(shù)>.<imag>的方式來獲取虛部,那么計(jì)算機(jī)就會(huì)將這個(gè)復(fù)數(shù)的實(shí)部和虛部相加,并且以浮點(diǎn)數(shù)的類型返回。而如果要獲取我們通常理解意義上的虛部,則要將這個(gè)復(fù)數(shù)賦給一個(gè)變量,通過<變量>.<imag>的方式獲取,就能得到“a + bi”模式的虛部。
![]()
實(shí)部的獲取相對(duì)容易理解,不是緊跟 j 的就是實(shí)部,同樣以浮點(diǎn)數(shù)的類型返回。
另一個(gè)問題就是運(yùn)算類型的問題,Python中有三種數(shù)據(jù)類型:整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)。這三種類型數(shù)據(jù)混合參與運(yùn)算時(shí),結(jié)果的類型采用“最寬范圍”的類型,復(fù)數(shù)類型范圍最寬,整數(shù)最窄。
在上述例子中,復(fù)數(shù)的實(shí)部、虛部不會(huì)是復(fù)數(shù)類型,則以次于復(fù)數(shù)類型的浮點(diǎn)數(shù)類型返回。
再列出一些運(yùn)算的例子:

![]()
當(dāng)然,如果類型保持一致,則以同樣類型返回運(yùn)算結(jié)果(類型一致也就是最寬的類型就是他本身的類型)
上述是我通過實(shí)驗(yàn)總結(jié)出來的,沒有查找權(quán)威參考資料,若有不正確的地方希望指正。
相關(guān)文章
Python 工具類實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳功能詳解
用python進(jìn)行大文件下載的時(shí)候,一旦出現(xiàn)網(wǎng)絡(luò)波動(dòng)問題,導(dǎo)致文件下載到一半。如果將下載不完全的文件刪掉,那么又需要從頭開始,如果連續(xù)網(wǎng)絡(luò)波動(dòng),是不是要頭禿了。本文提供斷點(diǎn)續(xù)傳下載工具方法,希望可以幫助到你2021-10-10
PyTorch dropout設(shè)置訓(xùn)練和測(cè)試模式的實(shí)現(xiàn)
這篇文章主要介紹了PyTorch dropout設(shè)置訓(xùn)練和測(cè)試模式的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2021-05-05
Python開發(fā)常用五種循環(huán)方式的場(chǎng)景性能比較
Python是一門高級(jí)編程語言,其擁有多種循環(huán)方式,如for循環(huán)、while循環(huán)、do-while循環(huán)等。本文將逐個(gè)分析Python所有的循環(huán)執(zhí)行效率和適用場(chǎng)景,需要的可以參考一下2023-04-04
為什么選擇python編程語言入門黑客攻防 給你幾個(gè)理由!
為什么選擇python編程語言入門黑客攻防,小編今天給你幾個(gè)理由!Python語言的優(yōu)點(diǎn)、Python黑客攻擊優(yōu)點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
Win10下python 2.7.13 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中
今天小編就為大家分享一篇python3實(shí)現(xiàn)從kafka獲取數(shù)據(jù),并解析為json格式,寫入到mysql中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
關(guān)于Python的GPU編程實(shí)例近鄰表計(jì)算的講解
本文主要講解了Python的GPU編程實(shí)例近鄰表計(jì)算,通過一個(gè)近鄰表計(jì)算的案例,給出了適用于GPU加速的計(jì)算場(chǎng)景。需要了解的朋友可以參考一下這篇文章2021-08-08
selenium+python設(shè)置爬蟲代理IP的方法
這篇文章主要介紹了selenium+python設(shè)置爬蟲代理IP的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
20行python代碼實(shí)現(xiàn)人臉識(shí)別
這篇文章主要介紹了python人臉識(shí)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

