Python程序設(shè)計基礎(chǔ)(第2版)課件 第1、2章 Python語言基礎(chǔ)、數(shù)值類型與科學(xué)計算_第1頁
Python程序設(shè)計基礎(chǔ)(第2版)課件 第1、2章 Python語言基礎(chǔ)、數(shù)值類型與科學(xué)計算_第2頁
Python程序設(shè)計基礎(chǔ)(第2版)課件 第1、2章 Python語言基礎(chǔ)、數(shù)值類型與科學(xué)計算_第3頁
Python程序設(shè)計基礎(chǔ)(第2版)課件 第1、2章 Python語言基礎(chǔ)、數(shù)值類型與科學(xué)計算_第4頁
Python程序設(shè)計基礎(chǔ)(第2版)課件 第1、2章 Python語言基礎(chǔ)、數(shù)值類型與科學(xué)計算_第5頁
已閱讀5頁,還剩156頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1

Python

語言基礎(chǔ)Python語言概述環(huán)境配置數(shù)據(jù)與數(shù)據(jù)類型對象與變量程序基本結(jié)構(gòu)內(nèi)置類型1.11.21.31.41.51.6學(xué)習(xí)引導(dǎo)發(fā)展歷史、開發(fā)環(huán)境的配置數(shù)據(jù)類型、關(guān)鍵字、程序結(jié)構(gòu)、語句塊、函數(shù)、文件讀寫了解數(shù)據(jù)、對象與屬性、命名與變量成員運(yùn)算、優(yōu)先級理解邏輯值檢測、布爾運(yùn)算、比較運(yùn)算掌握輸入、格式化輸出運(yùn)用1.1Python

語言概述Python語言簡介——發(fā)展歷程1.11989年GuidovanRossum開始開發(fā)Python語言。1991年

Python1.0發(fā)布。2000年P(guān)ython2.0發(fā)布,引入了一些重大的語義變更。2008年P(guān)ython3.0發(fā)布,為語言增加了很多新特性,并且不再與Python2.x完全兼容。2020年P(guān)ython3.9發(fā)布,增加了許多新特性,如型標(biāo)注,PEP572。2021年P(guān)ython3.10發(fā)布,包含了諸如泛型,Pydantic模型等新特性。最初的

Pythonlogo

Python之父GuidovanRossumPython語言簡介——語言特點(diǎn)1.1代碼簡潔代碼可讀性高豐富的標(biāo)準(zhǔn)庫很強(qiáng)的交互性Python語言簡介——應(yīng)用領(lǐng)域1.1AAI人工智能BBlockchain區(qū)塊鏈CCloudCompute云計算DBig

Data大數(shù)據(jù)EEdgeComputer邊緣計算Python語言簡介最活躍的Python、C/C++、Java、C#和JavaScript等20種語言大約占據(jù)80%的市場。1.12025年6月TIOBE編程語言排行1.2環(huán)境配置解釋器的安裝Python解釋器可在Python官方網(wǎng)站/

下載1.2.1解釋器的安裝1.2.1安裝過程中,在第一個界面上,務(wù)必勾選第一個界面上的

“AddPython.exetoPATH”安裝成功后,可以在開始菜單里找到Python3.12,里面有IDLE、Python3.12(Python解釋器)和Python3.12ModuleDocs(文檔)。1.2.2編寫程序IDLEPython安裝時自帶的集成開發(fā)與學(xué)習(xí)環(huán)境提供了一個基礎(chǔ)的交互式命令行和代碼編輯器適合初學(xué)者進(jìn)行簡單的代碼練習(xí)。IDE(集成開發(fā)環(huán)境)功能更強(qiáng)大的專業(yè)軟件集成了代碼編輯器、高級調(diào)試器和項(xiàng)目管理等多種工具能顯著提升復(fù)雜項(xiàng)目的開發(fā)效率。交互式編程文件式編程編寫程序IDLE具有兩種類型的主窗口:Python

Shell窗口——交互式編程文件編輯窗口——文件式編程1.2.2編寫程序——交互式編程單擊開始菜單中的IDLE

進(jìn)入Python

Shell交互環(huán)境。在輸入代碼的時候,程序設(shè)計里的括號和引號都是半角,即英文狀態(tài)下的輸入,程序中所有符號都是半角符號。不便于代碼的修改,且退出也無法保存代碼。1.2.2編寫程序——文件式編程在IDLE的File菜單單擊New

File(或Ctrl+N)會打開一個新的編輯窗口。代碼保存成擴(kuò)展名為“.py”的文件。按F5鍵或單擊Run菜單里的RunModule就可以在Shell里輸出程序運(yùn)行結(jié)果。保存的源代碼文件可以反復(fù)運(yùn)行。1.2.2查看幫助文檔在交互環(huán)境下,輸入help()函數(shù)并回車,進(jìn)入幫助模式。在help>后輸入要查看的主題、關(guān)鍵詞、函數(shù)名或模塊名等信息便查看相關(guān)文檔。>>>help()#交互環(huán)境下輸入help()函數(shù)并回車WelcometoPython3.12'shelputility!......#此處省略提示信息若干行help>

abs

#在>后輸入要查看的函數(shù)名或關(guān)鍵詞并回車會返回幫助信息Helponbuilt-infunctionabsinmodulebuiltins:abs(x,/)Returntheabsolutevalueoftheargument.1.2.3PyCharm集成開發(fā)環(huán)境(IDE)是將代碼編輯器、調(diào)試器和代碼自動補(bǔ)全等常用開發(fā)工具組合在一起的應(yīng)用程序,旨在提高程序員的開發(fā)效率。常見的Python開發(fā)工具包括VisualStudioCode、Anaconda、PyCharm等。1.2.4PyCharm提供強(qiáng)大的智能代碼輔助功能,能夠?qū)崟r錯誤檢查和代碼補(bǔ)全,推薦初學(xué)者使用。AI插件PyCharm提供眾多免費(fèi)的人工智能編程插件。功能全面,能夠?qū)崟r續(xù)寫代碼、生成注釋和解釋代碼等。1.2.51.3數(shù)據(jù)與數(shù)據(jù)類型1.3數(shù)據(jù)與數(shù)據(jù)類型所有客觀對象都要抽象成數(shù)據(jù)才能在計算機(jī)中進(jìn)行存儲和處理。根據(jù)需要對數(shù)據(jù)進(jìn)行的操作和處理的不同,可以將數(shù)據(jù)和操作定義成若干種類型。每種數(shù)據(jù)類型都有自己的屬性、方法和不同的適用場景。數(shù)值類型對象示例數(shù)值類型整型1024、79、0、-66浮點(diǎn)型123.45、12.、.23、0.78文本類型字符串'1024'、"test"、'''10test'''序列類型列表[1,2,3,4]、[1,2,'a',"b"]元組(1,2,3,4)、(1,2,'a','b')、(1,)Rangerange(1,10,2)、range(5)集合類型集合{1,2,3,4}、{'h','l','e','o'}、{'you','me','he'}映射類型字典{'age':40,'name':'zhao'}1.4對象與變量對象與變量每個數(shù)據(jù)都抽象為一個對象。數(shù)據(jù)的存儲和管理以對象為單位進(jìn)行。系統(tǒng)為每個新創(chuàng)建的對象分配一個塊內(nèi)存空間,并用該段內(nèi)存的首地址編號作為對象的身份標(biāo)識,此值可以用id()函數(shù)獲取。1.4對象與屬性1.4.1類型:整型

<class‘int‘>

身份標(biāo)識(內(nèi)存地址):1775827913040值:500對象的3個基本屬性:類型、身份標(biāo)識、值。對象創(chuàng)建后,其類型和身份標(biāo)識不會改變。1.4.2變量與賦值賦值的本質(zhì)是指將一個名字綁定到一個對象上的操作。賦值符號“=”。變量名=對象變量名是給對象貼一個用于訪問的標(biāo)簽。一個對象可以沒有名字、有一個名字或有多個名字。Python中先有對象后有名字,所以每個變量在使用前都必須先有值才可以使用。變量與賦值pi=3.14#變量pi賦值為3.14radius=

4

#變量radius賦值為4area=pi*(radius**

2)#計算圓面積print(area)#輸出面積值50.24radius=

6

#變量radius賦值為6area=pi*(radius**

2)#計算圓面積print(area)#輸出面積值113.041.4.2變量與賦值——賦值表達(dá)式1.4.2賦值表達(dá)式也稱海象運(yùn)算符將賦值操作和表達(dá)式運(yùn)算在同一行語句中完成。避免一些方法重復(fù)調(diào)用,提高運(yùn)行速度。

if(age:=

20)>

18:#變量age賦值為20,并將age的值與18比較

print(age)#輸出:20但表達(dá)式變得抽象、難以理解,不建議初學(xué)者使用。變量與賦值——賦值表達(dá)式1.4.2符號描述實(shí)例解釋=賦值符c=100c=a+b將數(shù)字

100賦值給c將

a+b的運(yùn)算結(jié)果賦值給c:=賦值表達(dá)式if(age:=20)>18:先賦值再參與表達(dá)式的運(yùn)算+=加法運(yùn)算賦值符c+=ac=c+a-=減法運(yùn)算賦值符c-=ac=c-a*=乘法運(yùn)算賦值符c*=ac=c*a/=除法運(yùn)算賦值符c/=ac=c/a%=取模運(yùn)算賦值符c%=ac=c%a**=冪運(yùn)算賦值符c**=ac=c**a//=整除運(yùn)算賦值符c//=ac=c//a變量與賦值——多變量賦值1.4.2x,y=

(5,10)#元組元素按順序賦值給多個變量m,n=

3,4#3,4為元組,元組元素按順序賦值給多個變量i,j=

[3,6]#列表元素按順序賦值給多個變量a,b,c=

'xyz’#字符串中字符按順序賦值給多個變量賦值符號左邊的變量的數(shù)量等于右側(cè)數(shù)據(jù)的數(shù)量其中的每個元素分別綁定一個名字兩者數(shù)量不一致時,將引發(fā)

ValueError:m,n=

3,4,5

#ValueError:toomanyvaluestounpack(expected2)

m,n,k=

3,4

#ValueError:notenoughvaluestounpack(expected3,got2)1.4.3變量命名規(guī)范(常用PEP8規(guī)范)大小寫字母、數(shù)字和下劃線數(shù)字不能為首字符變量名區(qū)分大小寫字母常用單詞或下劃線連接多個小寫字母的單詞3ks=0ks_3

=0numberuser_nameid_checktrueTrue變量命名規(guī)范a=3.14#無意義變量名b=4#無意義變量名c=a*

(b**2)

#不確定意義的表達(dá)式1.4.3pi=3.14#圓周率diameter=4#直徑area=pi*

((diameter/2)**2)

#計算圓的面積

簡潔且能清晰表達(dá)對象意義的名字,便于能閱讀和理解1.4.4Python關(guān)鍵字Python關(guān)鍵字是語言內(nèi)置的特殊詞匯一般用于構(gòu)成程序框架、表達(dá)關(guān)鍵值和具有結(jié)構(gòu)性的復(fù)雜語義不能用作變量名或函數(shù)名FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield1.5程序基本結(jié)構(gòu)1.5程序基本結(jié)構(gòu)輸出>=

1輸入>=

0print()input()處理1.5.1輸出將程序的處理結(jié)果通過顯示器、繪圖儀等設(shè)備反饋給用戶或以文件形式持久保存。print()函數(shù)寫入到文件格式化字符串字面值str.format()方法print(*objects,sep='

',end='\n')1.5.1輸出——print()函數(shù)主要用于將一個對象或多個對象輸出到屏幕上。*objects:0個或多個輸出對象,用半角逗號“,”將要輸出的多個對象隔開sep:輸出的多個對象之間的分隔符,默認(rèn)用空格分隔end:輸出結(jié)束時的符號,默認(rèn)每個輸出語句用換行符結(jié)束輸出——print()函數(shù)1.5.1

print('你好',end='')

#輸出后不換行,用空格隔開

print('歡迎',end='')

#輸出后不換行,用空字符串隔開

print('學(xué)習(xí)Python!')

#輸出后換行

print('歡迎進(jìn)入程序世界!')

#在新的一行輸出#輸出:你好

歡迎學(xué)習(xí)Python!歡迎進(jìn)入程序世界!

print('2024','08','11')

#默認(rèn)輸出時用空格分隔#20240811

print('2024','08','11',sep='/')

#用sep參數(shù)指定“/”用于輸出時分隔符#2024/08/11

print('09','28','36',sep=':')

#用sep參數(shù)指定“:”用于輸出時分隔符#09:28:36輸出——格式化字符串字面值a=5b=3print(f'{a}-={a-b}')#輸出5-3=21.5.1用“f”或“F”做前綴格式化字符串輸出使用時,在字符串開始的引號或三引號前加上一個“f”或“F”在字符串中,放置在大括號“{}”中的變量或表達(dá)式在程序運(yùn)行時,會被變量和表達(dá)式的值代替。輸出——格式化字符串字面值user_name='Tom'gender='male'#傳入大括號的對象可以為字符串a(chǎn)ge=20

#傳入大括號的對象可以為整數(shù)或其他任意類型#將對象user_name、gender、age的值填入到字符串的替換域{}中輸出print(f'姓名:{user_name},性別:{gender},年齡:{age}')#輸出:姓名:Tom,性別:male,年齡:201.5.1大括號中的變量值可以為任意類型在模板字符串中加入說明性字符串,這些字符串將被原樣輸出當(dāng)大括號中的值為字符串時,需使用不同的引號與格式中的引號區(qū)分開,3.12及以后的版本可用任意引號。

a=5

b=3

print(f'{a}/={a/b}‘)

#原樣輸出:5/3=1.6666666666666667

print(f'{a}/={a/b:.2f

}’)

#輸出保留2位小數(shù):5/3=1.671.5.1輸出——格式化字符串字面值格式限定符.mf在冒號后面加“.mf”可以控制輸出保留浮點(diǎn)數(shù)小數(shù)點(diǎn)后m位數(shù)字。m表示保留小數(shù)位數(shù),小數(shù)不足m位時末尾補(bǔ)“0”。f表示作用于浮點(diǎn)數(shù)(float)對象上。輸出——格式化字符串字面值

print(f'{1}

*

{9}={1

*9:2}‘)

#1*9=9

print(f'{9}

*

{9}={9

*9:

2}’)

#9*9=811.5.1在':'后傳遞一個整數(shù)可以讓該字段成為最小字符寬度可用于設(shè)置輸出時對齊字符。輸出——str.format()方法1.5.1str.format()函數(shù)主要用于輸出格式化字符串。<模版字符串>由字符串和若干個用大括號“{}”表示的替換域組成,大括號用來控制修改字符串中嵌入值出現(xiàn)的位置。format()括號中放置與替換域數(shù)量相同的參數(shù)值,運(yùn)行時默認(rèn)按替參數(shù)出現(xiàn)的順序一一對應(yīng)填入到前面的替換域中。

<模版字符串>.format(<逗號分隔的參數(shù)>)輸出——str.format()方法a=5b=3print('{}+{}={}'.format(a,b,a+b))

#參數(shù)值按出現(xiàn)順序填入替換域,輸出5+3=81.5.1參數(shù)值按出現(xiàn)順序填入替換域輸出——str.format()方法a=5b=3print('{}*{}={}'.format(a,b,a*b))#參數(shù)值按出現(xiàn)順序填入替換域,輸出5*3=15print('{2}*{1}={0}'.format(a*b,b,a))#參數(shù)序號從0開始編號,依次為:0,1,2,輸出5*3=15print('{2}*{0}={1}'.format(b,a*b,a))#括號中序號根據(jù)參數(shù)序號調(diào)整,輸出5*3=151.5.1參數(shù)值按序號填入替換域輸出——寫入文件 fw=

open("data.txt",'w')

#打開文件"data.txt,創(chuàng)建文件對象命名為fw fw.write("HelloWorld!")

#將字符串寫入到文件data.txt中 fw.close()

#關(guān)閉文件對象1.5.1使用內(nèi)置函數(shù)open(file)創(chuàng)建一個文件write()方法將數(shù)據(jù)寫入到文件中長期保存open()函數(shù)參數(shù)file是要打開的文件的帶路徑的文件名的字符串參數(shù)“w”表示寫入模式open()函數(shù)的作用是打開file指定的文件并返回相應(yīng)的文件對象。輸入——用戶輸入name=input("請輸入你的姓名:")

#先輸出提示信息,光標(biāo)不換行,等待用戶輸入姓名age=input("請輸入你的年齡:")

#先輸出提示信息,光標(biāo)不換行,等待用戶輸入年齡,字符串print(f'你的名字是{name},今年{age}歲。')1.5.2input()函數(shù)用戶輸入通過內(nèi)置函數(shù)input([prompt])實(shí)現(xiàn)prompt是可選參數(shù),一般是一個提示用戶輸入相關(guān)信息的字符串,將其寫入標(biāo)準(zhǔn)輸出(輸出到顯示器),末尾不帶換行符。該函數(shù)從輸入中讀取一行,將輸入的數(shù)據(jù)轉(zhuǎn)換為字符串并返回。在線評測系統(tǒng)中,為方便設(shè)計評測數(shù)據(jù),一般約定不在input()中加入提示信息。輸入——文件讀取

fr

=

open("data.txt",'r’)

#打開文件data.txt,創(chuàng)建文件對象命名為fr txt=

fr.read()

#將data.txt中的數(shù)據(jù)讀取為一個字符串命名為txt

fr.close()

#關(guān)閉文件對象 print(txt)

#輸出txt中的數(shù)據(jù)1.5.2文件讀取使用內(nèi)置函數(shù)open(file)實(shí)現(xiàn)參數(shù)file是要打開的文件的帶路徑的文件名的字符串參數(shù)“r”表示讀取模式函數(shù)的作用是打開file指定的文件并返回相應(yīng)的文件對象。處理1.5.3順序結(jié)構(gòu)分支結(jié)構(gòu)程序控制結(jié)構(gòu)語句1語句2語句3True表達(dá)式1表達(dá)式2表達(dá)式m語句1語句2語句mFalseFalseTrueTrue循環(huán)結(jié)構(gòu)開始循環(huán)體邏輯條件結(jié)束FalseTrue處理——順序結(jié)構(gòu)

#輸入:獲取用戶輸入的圓的半徑 radius=float(input("請輸入圓的半徑:"))

#處理:利用面積公式計算圓的面積 pi=

3.14159 area=pi*

(radius**

2)

#輸出:輸出圓的面積

print(f"圓的面積是:{area}")1.5.3各行開頭都對齊在同一層次語句按出現(xiàn)的先后順序依次執(zhí)行語句1語句2語句3處理——分支結(jié)構(gòu)根據(jù)不同的條件執(zhí)行不同的語句塊if…elif…else控制程序執(zhí)行不同條件下的語句塊當(dāng)滿足其中某一個條件時,一定不會再滿足其他條件,程序即終止判定。1.5.3True表達(dá)式1表達(dá)式2表達(dá)式m語句1語句2語句mFalseFalseTrueTrue處理——分支結(jié)構(gòu) height=float(input('請輸入身高(米):'))#輸入身高并轉(zhuǎn)換為浮點(diǎn)數(shù) weight=float(input('請輸入體重(公斤):'))#輸入體重并轉(zhuǎn)換為浮點(diǎn)數(shù) #根據(jù)BMI值輸出健康建議 bmi=weight/pow(height,2)

#計算BMI指數(shù) ifbmi<

18.5:#判斷BMI指數(shù)是否小于18.5 advice="體重過輕"

elif18.5

<=bmi<

24.9:

#判斷BMI指數(shù)是否在18.5到24.9之間

advice=

"體重正常"

elif25

<=bmi<29.9:

#判斷BMI指數(shù)是否在25到29.9之間

advice=

"體重超重"

else:#判斷BMI指數(shù)是否大于等于30 advice=

"肥胖"

print('BMI指數(shù)為:{:.2f}'.format(bmi))

#輸出BMI指數(shù)并保留兩位小數(shù)

print(f'健康建議為:{advice}'))

#輸出處理結(jié)果1.5.3處理——循環(huán)結(jié)構(gòu)print(f'{'*':^9}')

#在9個字符的寬度中居中輸出1個*print(f'{'***':^9}')

#在9個字符的寬度中居中輸出3個*print(f'{'*****':^9}')

#在9個字符的寬度中居中輸出5個*print(f'{'*******':^9}')

#在9個字符的寬度中居中輸出7個*print(f'{'*********':^9}')

#在9個字符的寬度中居中輸出9個*1.5.3#輸出:*

***

*****

*******

*********#重復(fù)執(zhí)行5次,i依次取0,1,2,3,4foriinrange(5):

#重復(fù)執(zhí)行這條語句5次,每次輸出的“*”數(shù)量不同

print(f'{"*"*(2*i+1):^9}')循環(huán)結(jié)構(gòu)表示程序反復(fù)執(zhí)行某個或某些操作直到某條件為假(或?yàn)檎妫r才可終止循環(huán)語句塊

deftest():#定義一個函數(shù),函數(shù)體的語句均在縮進(jìn)一個層次內(nèi)

foriinrange(10):#for循環(huán)語句,循環(huán)體的語句均在縮進(jìn)一個層次內(nèi)

ifi%2==0:#if分支語句,分支體的語句均在縮進(jìn)一個層次內(nèi)

print(f

'{i}是偶數(shù)') else:#else分支語句,分支體的語句均在縮進(jìn)一個層次內(nèi)

print(f

'{i}是奇數(shù)')

returnNone#函數(shù)返回值為None,函數(shù)體的語句均在縮進(jìn)一個層次內(nèi) test()#調(diào)用函數(shù)test(),語句與函數(shù)定義的縮進(jìn)層次相同1.5.4語句塊:一組作為一個單元執(zhí)行、且縮進(jìn)一致的程序語句。同一塊內(nèi)的所有語句必須保持相同的縮進(jìn)級別。通常推薦使用4個空格作為一級縮進(jìn)。常用于以冒號(:)結(jié)尾的復(fù)合語句之后。當(dāng)代碼的縮進(jìn)返回到上一級別時,語句塊結(jié)束。語句塊可以內(nèi)嵌,內(nèi)層語句塊需要更深的縮進(jìn)。函數(shù)1.5.5分而治之邏輯簡單流程嵌套邏輯復(fù)雜模塊化程序設(shè)計函數(shù)是指用于進(jìn)行某種計算或具有某種功能的一系列語句的有名稱的組合。函數(shù)1.5.5defgreet(name,gender):

#函數(shù)定義,用def、函數(shù)名、參數(shù)構(gòu)成,冒號結(jié)尾

"""這個函數(shù)用于打招呼"""

#文檔字符串,說明函數(shù)功能、參數(shù)、返回值等信息

ifgender==

'male':

#函數(shù)體,根據(jù)性別返回不同的問候語

return

f"Hello,Mr.{name}!"

#返回值,將函數(shù)處理結(jié)果返回給調(diào)用函數(shù)處

else:

return

f"Hello,Miss.{name}!"#調(diào)用函數(shù)message=greet("Alice",'male')

#調(diào)用函數(shù),獲取函數(shù)的處理結(jié)果進(jìn)一步應(yīng)用print(message)

#輸出:Hello,Mr.Alice!1.6內(nèi)置類型內(nèi)置類型1.6內(nèi)建操作是Python語法核心的一部分無需導(dǎo)入即可直接對數(shù)據(jù)進(jìn)行比較、計算或邏輯判斷通過關(guān)鍵字(如and,in)或特殊符號(如+,==)實(shí)現(xiàn)核心概念:布爾值一種只有“True”(真)和“False”(假)兩種值的邏輯數(shù)據(jù)類型主要用于表示邏輯判斷的結(jié)果并控制程序的流程內(nèi)置類型1.6布爾運(yùn)算:使用and(與)、or(或)、not

(非)這三個關(guān)鍵字來組合或反轉(zhuǎn)布爾值,從而構(gòu)建出更復(fù)雜邏輯條件的計算。比較運(yùn)算:使用==、!=、>、<等操作符來比較兩個對象的值是否相等或大小關(guān)系,并返回一個布爾值結(jié)果。邏輯值檢測:判斷任意一個Python對象被視為True(真)還是False(假)的過程,主要用于條件判斷。成員運(yùn)算:使用in

或notin關(guān)鍵字來檢查一個元素是否存在于一個序列(如字符串、列表、元組)中的操作。邏輯值檢測任何Python對象都可以評估其布爾值True(真)或

False(假)

其意義在于讓開發(fā)者能夠編寫出更簡潔、易讀的條件判斷語句在if或while等分支語句中高效地控制程序流程。1.6.1TrueFalse被定義為假值的常量:None和False任何數(shù)值類型的零:0,0.0,0j,Decimal(0),Fraction(0,1)空的序列和多項(xiàng)集:'',(),[],{},set(),range(0)大部分對象除了右側(cè)判定為False邏輯值檢測 fromdecimalimportDecimal#decimal模塊中的小數(shù)函數(shù)Decimal fromfractionsimportFraction#fractions模塊中的分?jǐn)?shù)函數(shù)Fraction

print(bool(Fraction(0,1)))

#Fraction(0,1)表示分子為0分?jǐn)?shù),0/1,F(xiàn)alse

print(bool(Decimal(0)))

#Decimal(0)表示0,F(xiàn)alse

print(bool('hello'))

#非空字符串,True

print(bool(100))

#非0數(shù)字,True

print(bool(0.0))

#浮點(diǎn)數(shù)0.0與數(shù)字0等值,F(xiàn)alse

print(bool('

'))

#空格是非空字符串,True

print(bool(''))

#空字符串,F(xiàn)alse

print(bool([]))

#空列表,F(xiàn)alse

print(bool(None))

#None類型,F(xiàn)alse1.6.1布爾運(yùn)算1.6.2布爾運(yùn)算也稱為邏輯運(yùn)算符包括“and(與)”、“or(或)”、“not(非)”運(yùn)算優(yōu)先級運(yùn)算符表達(dá)式功能描述低orxory首先對表達(dá)式x求值,如果值為True則返回x的值,否則對表達(dá)式y(tǒng)求值并返回其結(jié)果值。中andxandy首先對表達(dá)式x求值,如果值為False則返回x的值,否則對表達(dá)式y(tǒng)求值并返回其結(jié)果值。高notnotx表達(dá)式x

值為False時返回True,否則返回False。and和or兩邊的x和y可以是數(shù)字、變量或表達(dá)式,布爾運(yùn)算返回的并不是False和True,而是返回參與布爾運(yùn)算的操作數(shù)或表達(dá)式的值。布爾運(yùn)算——or運(yùn)算符首先對or左邊的表達(dá)式進(jìn)行運(yùn)算當(dāng)其值為True

時,直接返回左側(cè)表達(dá)式的運(yùn)算結(jié)果,不會對右側(cè)表達(dá)式進(jìn)行運(yùn)算(短路特性)當(dāng)其值為False

時,才對右側(cè)的表達(dá)式進(jìn)行運(yùn)算,此時右側(cè)表達(dá)式的值為邏輯運(yùn)算表達(dá)式的值。

print(10or

'hello')

#先對左側(cè)求值,值為True則返回左側(cè)的值,返回整數(shù)10

print('hello'

or10)

#先對左側(cè)求值,值為True則返回左側(cè)的值,返回'hello'

print(10or

'')

#先對左側(cè)求值,值為True則返回左側(cè)的值,返回整數(shù)101.6.2

print(0or

'hello')

#先對左側(cè)求值,值為False則返回右側(cè)的值,返回'hello'

print(0orFalse)

#先對左側(cè)求值,值為False則返回右側(cè)的值,返回False

print(''

or[])

#先對左側(cè)求值,值為False則返回右側(cè)的值,返回[]布爾運(yùn)算——and運(yùn)算符首先對and左邊的表達(dá)式進(jìn)行運(yùn)算當(dāng)其值為False

時,直接返回左側(cè)表達(dá)式的運(yùn)算結(jié)果,不會對右側(cè)表達(dá)式進(jìn)行運(yùn)算(短路特性)當(dāng)其值為

True

時,才對右側(cè)的表達(dá)式進(jìn)行運(yùn)算,此時右側(cè)表達(dá)式的值為邏輯運(yùn)算表達(dá)式的值。

print(0and

'hello')

#先對左側(cè)求值,值為False則返回左側(cè)的值,返回0

print(0andFalse)

#先對左側(cè)求值,值為False則返回左側(cè)的值,返回0

print(''

and[])

#先對左側(cè)求值,值為False則返回左側(cè)的值,返回''1.6.2

print(10and

'hello')

#先對左側(cè)求值,值為True則返回右側(cè)的值,返回'hello'

print('hello'

and10)

#先對左側(cè)求值,值為True則返回右側(cè)的值,返回整數(shù)10

print(10and

'')

#先對左側(cè)求值,值為True則返回右側(cè)的值,返回''布爾運(yùn)算——not運(yùn)算符布爾運(yùn)算or和and的值,是參與運(yùn)算的表達(dá)式的值之一not運(yùn)算結(jié)果一定是布爾值True或False。

print(not10)

#10是非0整數(shù),布爾值為True,取非結(jié)果為False

print(not

'')

#'',空字符串,布爾值為False,取非結(jié)果為True1.6.2布爾運(yùn)算用在if或while的條件表達(dá)式中:得到布爾運(yùn)算的值對返回值做邏輯值檢測,根據(jù)其布爾值決定后續(xù)操作。 if10or

'':#10or''布爾運(yùn)算的值是10,條件運(yùn)算結(jié)果為True

print(True)

#當(dāng)10or''布爾運(yùn)算值是True時,輸出True else:#否則

print(False)

#輸出False,執(zhí)行此分支1.6.2

print(bool(10or

''))

#先得到10or''的結(jié)果為10,再用bool(10)返回True輸出1.1輸入用戶信息實(shí)例說明:編程接收用戶輸入的出生日期當(dāng)用戶不想公開自己的出生日期時,可以直接輸入回車,此時記錄“保密”。思路:分支語句布爾運(yùn)算結(jié)果賦值實(shí)例1.1輸入用戶信息

分支語句實(shí)現(xiàn) birthdate=input('請輸入出生日期:')

#接收用戶輸入的出生日期或回車符 ifbirthdate:#當(dāng)birthdate不為空字符串時,邏輯值檢測結(jié)果為True

print('你的生日是:',birthdate)

#有輸入時,輸出用戶輸入的出生日期 else:#無輸入時(直接回車時),輸出'保密'

print('你的生日是:','保密')實(shí)例布爾運(yùn)算結(jié)果賦值 birthdate=input('請輸入出生日期:')or

'保密'

#布爾表達(dá)式的結(jié)果賦值給birthdate

print('你的生日是:',birthdate)布爾運(yùn)算Tips:短路特性:解釋器先對邏輯運(yùn)算符左側(cè)的操作數(shù)進(jìn)行運(yùn)算當(dāng)發(fā)生短路之后,該語句短路處之后的所有代碼都不會被執(zhí)行把容易判斷、計算量較小的表達(dá)式放在邏輯運(yùn)算符的左側(cè),可以減少不必要的運(yùn)算,提高算法效率。

#判斷回文素數(shù)代碼 ifstr(i)

==str(i)[::-1]

andprime(i):

#字符串i是回文,數(shù)值i素數(shù)

print(i)

#將判斷回文表達(dá)式str(i)==str(i)[::-1]放在運(yùn)算符左側(cè)

#當(dāng)判定不是回文時,不再執(zhí)行右側(cè)判定素數(shù)函數(shù)prime(i)。

#因判定素數(shù)的計算量較大,這樣設(shè)計可以極大地降低運(yùn)算量,提高效率。1.6.21.2判斷閏年實(shí)例說明:輸入一個年份,判定該年是否是閏年。思路:普通閏年:公歷年份是4的倍數(shù),且不是100的倍數(shù)的,如2004年、2020年等就是閏年,可以用以下布爾運(yùn)算表達(dá)式表示:year%4==0andyear%100!=0世紀(jì)閏年:公歷年份是整百數(shù)的,必須是400的倍數(shù),如1900年不是閏年,2000年是閏年,可用以下布爾運(yùn)算表達(dá)式表示:year%400==0滿足這兩個條件之一的年份都是閏年。實(shí)例1.2判斷閏年實(shí)例哪個更好?都可以?第一個表達(dá)式,當(dāng)年份不能被4整除時,觸發(fā)短路,不再判定是否能被100和400整除,在本題中可減少約25%的運(yùn)算次數(shù)。(year%4==0andyear%100!=0)oryear%400==0VSyear%400==0or(year%4==0andyear%100!=0)year=int(input())ifyear%4==0andyear%100!=0oryear%400==0:

print(f'{year}年是閏年')else:

print(f'{year}年不是閏年')1.2判斷閏年實(shí)例在同一個表達(dá)式中同時出現(xiàn)and和or時,建議用加小括號的方法明確順序。(year%4==0andyear%100!=0)

oryear%400==0成員運(yùn)算1.6.3運(yùn)算符in

和notin用于成員運(yùn)算檢測in前面的對象是否在in后面的對象中存在。運(yùn)算符描述實(shí)例in如果對象在某一個序列中存在,返回True,否則返回Falseprint('u'in['U','u','USD'])#輸出Truenotin如果對象在某一個序列中不存在,返回True,否則返回Falseprint('r'notin['U','u','USD'])#輸出True1.3判斷字符類型實(shí)例說明:輸入一個字符,判定是字母還是數(shù)字。思路:用in

檢測目標(biāo)是否在對應(yīng)的字符集中存在若目標(biāo)在所有字母構(gòu)成的字符串中存在,則該字符是字母若目標(biāo)在所有數(shù)字構(gòu)成的字符串中存在,則該字符是數(shù)字字符。實(shí)例1.3判斷字符類型

letter=input()

#輸入一個字符 ascii_letters=

'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' #所有字母 ifletterinascii_letters:

#成員檢測,輸入字符在字母字符串中存在時

result=

'這是字母'

#輸出'這是字母’ elifletterin

'0123456789':

#成員檢測,輸入字符在數(shù)字字符串中存在時

result=

'這是數(shù)字'

#輸出'這是數(shù)字’ else:#其他情況

result=

'這是其他字符'

print(result)#輸出判斷結(jié)果實(shí)例1.6.4比較運(yùn)算比較運(yùn)算符用于比較兩個值,并確定他們之間的關(guān)系結(jié)果是邏輯值:True或False。比較優(yōu)先級:比較運(yùn)算符的優(yōu)先級相同,也與成員運(yùn)算優(yōu)先級相同,高于布爾運(yùn)算。類型符號語義一致性比較==、!=等于、不等于次序比較<、<=>、>=嚴(yán)格小于、小于或等于嚴(yán)格大于、大于或等于標(biāo)識號比較is

isnot當(dāng)且僅當(dāng)x和y是同一對象時xisy為真,即要求x和y的類型、值和id均相同時為True。isnot則相反。1.6.4比較運(yùn)算比較運(yùn)算符可以連續(xù)使用x<y<=z相當(dāng)于x<yandy<=zxisy==z相當(dāng)于xisyandy==zscore=float(input())

#輸入Python考試成績并為浮點(diǎn)數(shù)#若成績在90分以上且不大于100分,輸出“優(yōu)秀”ifscore>=90andscore<=100:

#比較運(yùn)算和邏輯運(yùn)算組合使用

print("優(yōu)秀")if100>=score>=90:

#連續(xù)比較,推薦使用

print("優(yōu)秀")比較運(yùn)算——比較運(yùn)算符is和isnot用于檢測對象的標(biāo)識號是否相同,即比較兩個對象的存儲單元是否相同當(dāng)且僅當(dāng)x和y是同一對象,即僅當(dāng)id(x)==id(y)時,xisy結(jié)果為True。xisnoty會產(chǎn)生相反的邏輯值,即當(dāng)id(a)!=id(b)時,引用的不是同一個對象,返回結(jié)果True,否則返回False。x=10#為對象10加一個標(biāo)簽x

y=10#Python同一程序中,等值整數(shù)調(diào)用同一個對象print(id(x),id(y))

#輸出id相同,值與系統(tǒng)相關(guān)print(xisy)

#True,說明x與y是同一個對象y=20#新創(chuàng)建一個對象20,加標(biāo)簽為yprint(xisy)

#False,說明x與y是不同對象print(id(x),id(y))

#輸出的x與y的id不同1.6.41.6.5比較優(yōu)先級序號運(yùn)算符描述1()、[]、{}括號表達(dá)式,元組、列表、字典、集合2x[i],x[m:n]序列索引、切片3**冪運(yùn)算4+x、-x正、負(fù)5*、/、//、%乘法、除法與取模6+、-加法與減法7<、<=、>、>=、!=、==、is、isnot、in、notin比較運(yùn)算、成員檢測和標(biāo)識號檢測8notx邏輯非9and邏輯與運(yùn)算符10or邏輯或運(yùn)算符11if…else條件表達(dá)式12lambdalambda表達(dá)式13:=賦值表達(dá)式、海象運(yùn)算符多種運(yùn)算符混合運(yùn)算時,優(yōu)先級由高到低如下:本章思維導(dǎo)圖本章小結(jié)本章主要介紹了Python語言基本概念、環(huán)境配置、數(shù)據(jù)類型、對象與變量、程序基本結(jié)構(gòu)和內(nèi)置類型。在安裝Python解釋器時,注意要選中“AddPythontoPATH”,推薦使用Pycharm等專業(yè)開發(fā)工具結(jié)合AI插件進(jìn)行學(xué)習(xí)。對象命名時,建議遵從PEP8規(guī)范。編碼時,建議將輸入、處理和輸出分開,盡早熟悉函數(shù)的定義和使用,培養(yǎng)將復(fù)雜問題分解為多個簡單的子問題的能力。本章練習(xí)1.編寫程序,輸出字符串'Helloworld!’。2.在兩行中分別輸入一個非零整數(shù),按'5+7=12'格式輸出這兩個數(shù)的和、差、積和商。3.在三行中分別輸入表示年、月、日的數(shù)字,按以下格式進(jìn)行輸出:2024-11-272024/11/2720241127202411274.輸入一個表示年份的正整數(shù),判定輸出該年是否為閏年。第2章數(shù)值類型與科學(xué)計算數(shù)值類型數(shù)值類型轉(zhuǎn)換數(shù)學(xué)表達(dá)式數(shù)學(xué)運(yùn)算函數(shù)數(shù)字和數(shù)學(xué)模塊2.12.22.32.42.5學(xué)習(xí)引導(dǎo)復(fù)數(shù)類型scipy、sympy、numpy等第三方庫的應(yīng)用場景和可解決的問題了解不同數(shù)值類型應(yīng)用中的區(qū)別,浮點(diǎn)數(shù)取值范圍和有效數(shù)字運(yùn)算運(yùn)算優(yōu)先級,不同方法控制精度的區(qū)別理解數(shù)值類型轉(zhuǎn)換,random庫的主要函數(shù)表達(dá)式構(gòu)建與數(shù)值運(yùn)算,浮點(diǎn)數(shù)精度控制掌握靈活運(yùn)用數(shù)值表達(dá)式解決數(shù)學(xué)問題運(yùn)用2.1數(shù)值類型2.1數(shù)值類型可參與數(shù)值運(yùn)算的數(shù)值類型主要有三種:2.1.1數(shù)值類型——整數(shù)不包含小數(shù)點(diǎn)的數(shù)字包括:十進(jìn)制的0、正整數(shù)和負(fù)整數(shù)以及其他進(jìn)制的整數(shù)進(jìn)制種類轉(zhuǎn)換函數(shù)引導(dǎo)符號描述與示例十進(jìn)制無由字符0到9組成,遇10進(jìn)1,如:99,156,-45二進(jìn)制bin()0b

或0B由字符0和1組成,遇2進(jìn)1,如:0b1010,0B1111八進(jìn)制oct()0o

或0O由字符0到7組成,遇8進(jìn)1,如:0o107,0O777十六進(jìn)制bex()0x

或0X由字符0到9及a、b、c、d、e、f或A、B、C、D、E、F組成,遇16進(jìn)1,如0xFF,0xff,0X10A2.1.1數(shù)值類型——整數(shù)整數(shù)子類—布爾值布爾值是兩個常量對象False

和True,表示邏輯上的假值或真值在數(shù)值類型的上下文中,分別以整數(shù)0和1為值參與運(yùn)算。

print(5+True)

print(True+False)

print(True*5+False*2)

print(True*2+3)2.1.1數(shù)值類型——整數(shù)特點(diǎn)可以存儲計算機(jī)內(nèi)存能夠容納的無限大整數(shù),幾乎沒有大小限制可精確表示超大數(shù)

據(jù)IDC發(fā)布《數(shù)據(jù)時代2025》的報告顯示2025年全球每天產(chǎn)生的數(shù)據(jù)量將達(dá)到

491EB,1EB=1024*106B(字節(jié))可以計算出2025年全球可產(chǎn)生206620827448116080803840字節(jié)數(shù)據(jù)。

total_byte=

491

*

1024

**

6

*

365

print(f"2025年全球可產(chǎn)生{total_byte}字節(jié)數(shù)據(jù)")

#輸出:2025年全球可產(chǎn)生206620827448116080803840字節(jié)數(shù)據(jù)2.1.2數(shù)值類型——浮點(diǎn)數(shù)由整數(shù)部分、小數(shù)點(diǎn)與小數(shù)部分組成。小數(shù)部分可以沒有數(shù)字,但小數(shù)點(diǎn)必須要有,此時相當(dāng)于小數(shù)部分為0。123.45、23.0、0.78、12.

(12.0)、.15(0.15)十進(jìn)制表示<a>e<n>,等價于數(shù)學(xué)中的a×10n

。0.48e-5、2e3、2.53e3(2.53e3=2.53×103=2530.0)科學(xué)記數(shù)法2.1.2數(shù)值類型——浮點(diǎn)數(shù)浮點(diǎn)數(shù)無法保證完全精確十進(jìn)制0.3二進(jìn)制0.01001100110011十進(jìn)制0.29998779296875浮點(diǎn)數(shù)范圍占8個字節(jié)(64位)存儲空間能表示的最大數(shù)字為1.7976931348623157×10308超過范圍時會觸發(fā)溢出異常(OverflowError)

print(pow(809.0,106))

#結(jié)果約為

1.748007496839708e+308,不超過浮點(diǎn)數(shù)范圍

print(pow(810.0,106))

#觸發(fā)異常

OverflowError:(34,'Resulttoolarge')2.1.2數(shù)值類型——浮點(diǎn)數(shù)浮點(diǎn)數(shù)精度默認(rèn)提供大約17位數(shù)字的精度,其余的截斷丟棄

a=3

.

1415926535897932384626433832795

#超出精度的數(shù)據(jù)存儲時會被丟棄

b=31415926535897

.

932384626433832795

c=31415926535897932384626433832795

#整數(shù)可以無限大小,精確存儲

print(a)

#輸出3

.

141592653589793

print(b)

#輸出31415926535897

.

934

print(c)

#輸出31415926535897932384626433832795整數(shù)會被完整輸出而浮點(diǎn)數(shù)輸出時將只保留

17位有效數(shù)字,其余的截斷丟棄

計算機(jī)中浮點(diǎn)數(shù)經(jīng)常無法精確表示2.1.2數(shù)值類型——浮點(diǎn)數(shù)雖然在str.format()方法中可以使用在占位符中的冒號后面加“.mf”的方法設(shè)置浮點(diǎn)數(shù)的小數(shù)位數(shù)為

m位,但實(shí)際上超過17位有效數(shù)字后面的數(shù)字并不能精確表示print('3.14159265358979323846264338327950288419716939937510')

#字符串可完整輸出:3.14159265358979323846264338327950288419716939937510print('{:.30f}'.format(314159.265358979323846264338327950288419716939937510))#314159.265358979348093271255493164062

print('{:.30f}'.format(3.14159265358979323846264338327950288419716939937510))#3.141592653589793115997963468544

n=3.0

+4j

print(n.real)

print(n.imag)

print(abs(n))2.1.3數(shù)值類型——復(fù)數(shù)復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成用a+bj,或者complex(a,b)

表示實(shí)部a和虛部b都是浮點(diǎn)數(shù)用real

和imag

方法分別獲取復(fù)數(shù)的實(shí)部和虛部用abs(a+bj)獲得復(fù)數(shù)的模#輸出實(shí)部3.0#輸出虛部4.0,注意復(fù)數(shù)的實(shí)部和虛部都是浮點(diǎn)數(shù)#輸出復(fù)數(shù)的模52.2數(shù)值類型轉(zhuǎn)換2.2數(shù)值類型轉(zhuǎn)換

數(shù)據(jù)類型作為函數(shù)名,要轉(zhuǎn)換的數(shù)字作為函數(shù)的參數(shù)。int()函數(shù):轉(zhuǎn)為整型float()函數(shù):轉(zhuǎn)為浮點(diǎn)數(shù)complex()函數(shù):轉(zhuǎn)為復(fù)數(shù)eval()函數(shù):通用方法2.2.1int()函數(shù)將浮點(diǎn)數(shù)或整數(shù)類型字符串轉(zhuǎn)換為一個整數(shù)。

int(number=0)

#將浮點(diǎn)數(shù)number轉(zhuǎn)換成十進(jìn)制整數(shù),默認(rèn)為0

int(string,base=10)

#base:輸入字符串的進(jìn)制基數(shù),默認(rèn)為10不能將浮點(diǎn)數(shù)字符串轉(zhuǎn)成整數(shù)。例如,嘗試將字符串'3.14'轉(zhuǎn)成整數(shù)時,系統(tǒng)會返回ValueError

異常:print(int('3.14',

base=10))

#ValueError:invalidliteralforint()withbase10:'3.14'2.2.1int()函數(shù)

print(int())

print(int(3.14))

print(int(3.99))#浮點(diǎn)數(shù)轉(zhuǎn)整數(shù),只保留整數(shù)部分,輸出:0#浮點(diǎn)數(shù)轉(zhuǎn)整數(shù),只保留整數(shù)部分,輸出:3#浮點(diǎn)數(shù)轉(zhuǎn)整數(shù),只保留整數(shù)部分,輸出:3浮點(diǎn)數(shù)轉(zhuǎn)整數(shù)時:如果缺失則返回0。若為一個數(shù)字,返回其整數(shù)部分。2.2.1int()函數(shù)可指定參數(shù)base:base為整數(shù)的進(jìn)制,范圍是0、2-36中的整數(shù)默認(rèn)值為10,常取2、8、10、16

print(int('0o107',base=8))

#'0o'

表示這是八進(jìn)制的整數(shù),輸出71

print(int('0x107',base=16))

#'0x'

表示這是十六進(jìn)制的整數(shù),輸出263

print(int('0b1001',base=0))

#'0b'

表示這是二進(jìn)制的整數(shù),輸出9字符串轉(zhuǎn)整數(shù)時:必須是整型的字符串,此時int()函數(shù)將轉(zhuǎn)成對應(yīng)進(jìn)制的整數(shù)。

print(int('10'))#整型字符串,默認(rèn)十進(jìn)制,轉(zhuǎn)為整數(shù)102.2.1int()函數(shù)對于參數(shù)base:base取值為0時,系統(tǒng)根據(jù)字符串前的進(jìn)制引導(dǎo)符確定該數(shù)的進(jìn)制當(dāng)指定base時,必須輸入整型的字符串,從而轉(zhuǎn)成對應(yīng)進(jìn)制的整數(shù)。

print(int('0xff',base=0))

#'0x'

表示這是十六進(jìn)制的整數(shù),輸出255

#base

2,將二進(jìn)制構(gòu)成的字符串轉(zhuǎn)成十進(jìn)制整數(shù),輸出255

print(int('11111111',

base=2))#二進(jìn)制11111111轉(zhuǎn)成十進(jìn)制整數(shù)是255

print(int('11111111',

2))

#base可省,二進(jìn)制11111111轉(zhuǎn)成十進(jìn)制

float(number=0.0)

float(string)2.2.1float()函數(shù)將數(shù)字或浮點(diǎn)數(shù)類型字符串

轉(zhuǎn)換為浮點(diǎn)數(shù)沒有參數(shù)時返回

0.0

print(float())

#無參數(shù)時返回浮點(diǎn)數(shù)0.0,輸出:0.0

print(float(3))

#整數(shù)轉(zhuǎn)浮點(diǎn)數(shù),增加小數(shù)位,輸出:3.0

print(float('3.14'))

#將字符串

'3.14'

轉(zhuǎn)為浮點(diǎn)數(shù)3.14

print(float('0.456'))

#將字符串

'0.456'

轉(zhuǎn)為浮點(diǎn)數(shù)0.456將特定的字符串或數(shù)字轉(zhuǎn)換為一個復(fù)數(shù)或基于特定的實(shí)部和虛部創(chuàng)建一個復(fù)數(shù)2.2.1complex()函數(shù)

print(complex())

#無參數(shù),輸出:0j

print(complex(3))

#只有一個數(shù)值參數(shù),虛部為0,輸出:(3+0j)

print(complex(3,4))

#兩個數(shù)值參數(shù),輸出:(3+4j) complex(number=0) complex(string) complex(real=0,image=0)2.2.1eval()函數(shù)將字符串expression進(jìn)行解析,并作為Python表達(dá)式進(jìn)行求值 eval(expression)

eval('100')

#整數(shù)字符串參數(shù)時返回整數(shù)100

eval('3.0')

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論