App下載

Python 中怎么使用復(fù)數(shù)?

猿友 2021-07-26 15:18:25 瀏覽數(shù) (9157)
反饋

我們知道,有理數(shù)不是數(shù)的終點,有理數(shù)之外還有實數(shù)和虛數(shù),虛數(shù)和實數(shù)可以組成復(fù)數(shù)。復(fù)數(shù)是科學(xué)運算中常用的到的數(shù)學(xué)概念,而python是科學(xué)運算中常用的編程語言,所以python對科學(xué)運算的支持是很好的(將復(fù)數(shù)內(nèi)置在了標準庫中,可以直接使用)。接下來就讓我們來看看python復(fù)數(shù)表示和復(fù)數(shù)運算是怎么操作的吧。

前言

復(fù)習(xí)試題時,發(fā)現(xiàn)一道復(fù)數(shù)問題

問題

關(guān)于 Python 的復(fù)數(shù)類型,以下選項中描述錯誤的是

A復(fù)數(shù)的虛數(shù)部分通過后綴“J”或者“j”來表示

B對于復(fù)數(shù) z,可以用 z.real 獲得它的實數(shù)部分

C對于復(fù)數(shù) z,可以用 z.imag 獲得它的實數(shù)部分

D復(fù)數(shù)類型表示數(shù)學(xué)中的復(fù)數(shù)

正確答案: C

首先我們來明確一下什么是復(fù)數(shù): 復(fù)數(shù)在數(shù)學(xué)上面的定義是由實數(shù)部分和虛數(shù)部分所組成的數(shù),形如a+bj .

其中a、b為實數(shù),j為“虛數(shù)單位”,j 的平方等于-1.a、b分別叫做復(fù)數(shù)a+bj的實部和虛部。

下面讓我們在Python中定義一個復(fù)數(shù):real + imag(虛部的單位可以是j或者J)

a = 6 + 0.6j

# 輸出這個復(fù)數(shù)a

print(a)

# 獲取實部

print(a.real)

# 獲取虛部

print(a.imag)

# 獲取該復(fù)數(shù)的共軛復(fù)數(shù)

print(a.conjugate())

# 讓我們通過complex函數(shù)來定義一個復(fù)數(shù)

a = complex(1, 2)

b = complex(1)

c = complex("1")

d = complex("1+2j")

# 運行結(jié)果

運行結(jié)果

補充:Python 復(fù)數(shù)及運算類型問題

在做題的時候遇到了這樣的問題:

題目

按照數(shù)學(xué)上的知識,我們通常會認為實部是1.23e+4,也就是12300;虛部是9.87e+6,也就是9870000。

但是程序運行結(jié)果卻不是這樣:

運行結(jié)果

為什么和我們想象的不一樣呢,這里面涉及到兩個問題:

1、實部虛部問題

2、結(jié)果類型問題

再來看一些例子:

例子

例子

例子


通過上述例子可以看出,如果我們使用<復(fù)數(shù)>.<imag>的方式來獲取虛部,那么計算機就會將這個復(fù)數(shù)的實部和虛部相加,并且以浮點數(shù)的類型返回。而如果要獲取我們通常理解意義上的虛部,則要將這個復(fù)數(shù)賦給一個變量,通過<變量>.<imag>的方式獲取,就能得到“a + bi”模式的虛部。

運行結(jié)果

實部的獲取相對容易理解,不是緊跟 j 的就是實部,同樣以浮點數(shù)的類型返回。

另一個問題就是運算類型的問題,Python中有三種數(shù)據(jù)類型:整數(shù)、浮點數(shù)、復(fù)數(shù)。這三種類型數(shù)據(jù)混合參與運算時,結(jié)果的類型采用“最寬范圍”的類型,復(fù)數(shù)類型范圍最寬,整數(shù)最窄。

在上述例子中,復(fù)數(shù)的實部、虛部不會是復(fù)數(shù)類型,則以次于復(fù)數(shù)類型的浮點數(shù)類型返回。

再列出一些運算的例子:

例子

當(dāng)然,如果類型保持一致,則以同樣類型返回運算結(jié)果(類型一致也就是最寬的類型就是他本身的類型)。

以上就是python復(fù)數(shù)運算和復(fù)數(shù)表示的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持W3Cschool。



1 人點贊