版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章基本數(shù)據(jù)類型
數(shù)字類型及math庫(kù)的應(yīng)用教學(xué)要求掌握:數(shù)字類型的概念和使用;字符串類型概念、使用、格式化操作方法和應(yīng)用。熟悉:Python標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)進(jìn)行數(shù)值計(jì)算。了解:數(shù)字類型在計(jì)算機(jī)中的表示方法。教學(xué)內(nèi)容3.1數(shù)字類型3.2數(shù)字類型的操作3.3math庫(kù)的使用3.4案例:天天向上的力量知識(shí)導(dǎo)圖2023/4/19Python常用內(nèi)置對(duì)象對(duì)象類型類型名稱示例簡(jiǎn)要說(shuō)明數(shù)字intfloatcomplex12343.14,1.3e53+4j數(shù)字大小沒(méi)有限制,內(nèi)置支持復(fù)數(shù)及其運(yùn)算字符串str'swfu',"I'mstudent",'''Python''',r'abc',R'bcd'使用單引號(hào)、雙引號(hào)、三引號(hào)作為定界符,以字母r或R引導(dǎo)的表示原始字符串字節(jié)串bytesb'helloworld'以字母b引導(dǎo),可以使用單引號(hào)、雙引號(hào)、三引號(hào)作為定界符列表list[1,2,3]['a','b',['c',2]]所有元素放在一對(duì)方括號(hào)中,元素之間使用逗號(hào)分隔,其中的元素可以是任意類型字典dict{1:'food',2:'taste',3:'import'}所有元素放在一對(duì)大括號(hào)中,元素之間使用逗號(hào)分隔,元素形式為“鍵:值”元組tuple(2,-5,6)(3,)不可變,所有元素放在一對(duì)圓括號(hào)中,元素之間使用逗號(hào)分隔,如果元組中只有一個(gè)元素的話,后面的逗號(hào)不能省略集合setfrozenset{'a','b','c'}所有元素放在一對(duì)大括號(hào)中,元素之間使用逗號(hào)分隔,元素不允許重復(fù);另外,set是可變的,而frozenset是不可變的常用內(nèi)置對(duì)象對(duì)象類型類型名稱示例簡(jiǎn)要說(shuō)明布爾型boolTrue,False邏輯值,關(guān)系運(yùn)算符、成員測(cè)試運(yùn)算符、同一性測(cè)試運(yùn)算符組成的表達(dá)式的值一般為T(mén)rue或False空類型NoneTypeNone空值異常ExceptionValueErrorTypeError
Python內(nèi)置大量異常類,分別對(duì)應(yīng)不同類型的異常文件
f=
open('data.dat','rb')open是Python內(nèi)置函數(shù),使用指定的模式打開(kāi)文件,返回文件對(duì)象其他可迭代對(duì)象
生成器對(duì)象、range對(duì)象、zip對(duì)象、enumerate對(duì)象、map對(duì)象、filter對(duì)象等等具有惰性求值的特點(diǎn),除range對(duì)象之外,其他對(duì)象中的元素只能看一次編程單元
函數(shù)(使用def定義)類(使用class定義)模塊(類型為module)類和函數(shù)都屬于可調(diào)用對(duì)象,模塊用來(lái)集中存放函數(shù)、類、常量或其他對(duì)象續(xù)表Python常用內(nèi)置對(duì)象常量、變量的地址>>>id(3)1667343520>>>id='3724....'>>>id(3)TypeError:'str'objectisnotcallable>>>x=1>>>id(x)>>>x=x+1>>>id(x)已知,id函數(shù)的功能是給出變量?jī)?nèi)存單元的地址,x=3,且id(x)=496103280,則執(zhí)行:x=x+6,表達(dá)式id(x)==496103280的值為()TrueFalseAB提交單選題1分3.1數(shù)字類型3.1.1Python常見(jiàn)3種數(shù)字類型:Python提供3種數(shù)字類型:整數(shù)類型、浮點(diǎn)數(shù)類型和復(fù)數(shù)類型,分別對(duì)應(yīng)數(shù)學(xué)中的整數(shù)、實(shí)數(shù)和復(fù)數(shù)。(1)整數(shù)(int)。例如:99,0b01(2)浮點(diǎn)數(shù)(float)。例如:0.99,4.3E-3,1.0(3)復(fù)數(shù)(complex)。例如:12.3+4j3.1.2整數(shù)類型與數(shù)學(xué)中的整數(shù)概念一致,除極大數(shù)的運(yùn)算外,沒(méi)有取值范圍限制,受限于計(jì)算機(jī)內(nèi)存的大小。理論上,取值從負(fù)無(wú)窮到正無(wú)窮。四種進(jìn)制數(shù):十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制。默認(rèn)情況,整數(shù)采用十進(jìn)制,其他進(jìn)制需要增加引導(dǎo)符號(hào)。整數(shù)類型不同進(jìn)制的整數(shù)之間可以直接運(yùn)算整數(shù)類型pow(x,y)函數(shù):計(jì)算xy打開(kāi)IDLE程序1:pow(2,10),#pow(x,y)函數(shù)是內(nèi)置函數(shù)。pow(2,1000)程序2:pow(2,pow(2,15))#pow(x,y)函數(shù)可以嵌套數(shù)字>>>9999**99#這里**是冪乘運(yùn)算符,等價(jià)于內(nèi)置函數(shù)pow()990148353526723487602263124753282625570559528895791057324326529121794837894053513464422176826916433932586924386677766244032001623756821400432975051208820204980098735552703841362304669970510691243800218202840374329378800694920309791954185117798434329591212159106298699938669908067573374724331208942425544893910910073205049031656789220889560732962926226305865706593594917896276756396848514900989999>>>0.3+0.2#實(shí)數(shù)相加0.5>>>0.4-0.1#實(shí)數(shù)相減,結(jié)果稍微有點(diǎn)偏差0.30000000000000004>>>0.4-0.1==0.3#應(yīng)盡量避免直接比較兩個(gè)實(shí)數(shù)是否相等False3.1.3浮點(diǎn)數(shù)類型與數(shù)學(xué)中實(shí)數(shù)概念一致,帶有小數(shù)點(diǎn)及小數(shù)的數(shù)字。Python語(yǔ)言中的浮點(diǎn)數(shù)類型必須帶有小數(shù)部分,小數(shù)部分可以是0,區(qū)分浮點(diǎn)數(shù)和整數(shù)類型。例如:1010是整數(shù),1010.0是浮點(diǎn)數(shù)。浮點(diǎn)數(shù)有2種表示方法:十進(jìn)制表示和科學(xué)計(jì)數(shù)法表示。除十進(jìn)制外,浮點(diǎn)數(shù)沒(méi)有其他進(jìn)制表示形式。下面是浮點(diǎn)數(shù)類型十進(jìn)制例子:1010.0,-1010.浮點(diǎn)數(shù)類型浮點(diǎn)數(shù)類型科學(xué)計(jì)數(shù)法使用字母e或者E作為冪的符號(hào),以10為基數(shù),含義如下:
<a>e<b>=a*10b1.01e3值為1010.0;-1.01E-3值為0.00101。3.1.3浮點(diǎn)數(shù)類型Python浮點(diǎn)數(shù)數(shù)值范圍和小數(shù)精度受不同計(jì)算機(jī)系統(tǒng)限制。>>>importsys#pow(x,y)函數(shù)是內(nèi)置函數(shù)。>>>sys.float_info#列出系統(tǒng)的浮點(diǎn)數(shù)各項(xiàng)參數(shù)。>>>sys.float_info.max#浮點(diǎn)數(shù)類型所能表示最大值。>>>importdecimal#庫(kù)decimal是高精度數(shù)數(shù)字類型Decimal。浮點(diǎn)數(shù)類型Python語(yǔ)言中浮點(diǎn)數(shù)的數(shù)值范圍存在限制,小數(shù)精度也存在限制。3.1.4復(fù)數(shù)類型與數(shù)學(xué)中的復(fù)數(shù)概念一致,z=a+bj,a是實(shí)數(shù)部分,b是虛數(shù)部分,a和b都是浮點(diǎn)類型,虛數(shù)部分用j或者J標(biāo)識(shí)。示例:
12.3+4j,-5.6+7j需要注意,當(dāng)b為1時(shí),1不能省略,即1j表示復(fù)數(shù),而j則表示Python程序中的一個(gè)變量。復(fù)數(shù)類型復(fù)數(shù)類型中實(shí)部和虛部都是浮點(diǎn)類型,對(duì)于復(fù)數(shù)z,可以用z.real和z.imag分別獲得它的實(shí)數(shù)部分和虛數(shù)部分。
>>>(1.23e-4+5.67e+89j).real
#求復(fù)數(shù)的實(shí)部。0.000123>>>(1.23e-4+5.67e+89j).imag
#求復(fù)數(shù)的虛部。5.67e+89Python語(yǔ)言的發(fā)展歷史1、內(nèi)置操作符:+、-、*、/、//取整、%求余數(shù)、**乘方2、內(nèi)置函數(shù):abs()、divmod(x,y)、pow()、max()、min()3、內(nèi)置轉(zhuǎn)換函數(shù):int()、float()、complex()3.2數(shù)字類型的操作Python解釋器為數(shù)字類型提供:數(shù)值運(yùn)算操作符、數(shù)值運(yùn)算函數(shù)、類型轉(zhuǎn)換函數(shù)等操作方法。3.2.1內(nèi)置的數(shù)值運(yùn)算操作符三種類型存在一種逐漸“擴(kuò)展”的關(guān)系:整數(shù)->浮點(diǎn)數(shù)->復(fù)數(shù)(整數(shù)是浮點(diǎn)數(shù)特例,浮點(diǎn)數(shù)是復(fù)數(shù)特例)數(shù)值運(yùn)算操作符數(shù)字類型之間相互運(yùn)算所生成的結(jié)果是“更寬”的類型,基本規(guī)則是:整數(shù)之間運(yùn)算,如果數(shù)學(xué)意義上的結(jié)果是小數(shù),結(jié)果是浮點(diǎn)數(shù);整數(shù)之間運(yùn)算,如果數(shù)學(xué)意義上的結(jié)果是整數(shù),結(jié)果是整數(shù);整數(shù)和浮點(diǎn)數(shù)混合運(yùn)算,輸出結(jié)果是浮點(diǎn)數(shù);整數(shù)或浮點(diǎn)數(shù)與復(fù)數(shù)運(yùn)算,輸出結(jié)果是復(fù)數(shù)。數(shù)值運(yùn)算操作符Python提供了9個(gè)基本的數(shù)值運(yùn)算操作符>>>100/333.33333333333>>>100//333>>>123+4.0127.0>>>10-1+2j9+2j數(shù)值運(yùn)算操作符數(shù)值運(yùn)算操作符上表所有二元運(yùn)算操作符(+、-、*、/、//、%、**)都可以與等號(hào)(=)相連,形成增強(qiáng)賦值操作符(+=、-=、*=、/=、//=、%=、**=)。用op表示這些二元運(yùn)算操作符,增強(qiáng)賦值操作符的用法如下:xop=y等價(jià)于x=xopy例如:>>>x=99>>>x**=3#與x=x**3等價(jià)>>>print(x)970299Python語(yǔ)言的TIOBE
INDEX3.2.2內(nèi)置的數(shù)值運(yùn)算函數(shù)Python解釋器提供了一些內(nèi)置函數(shù),在這些內(nèi)置函數(shù)之中,有6個(gè)函數(shù)與數(shù)值運(yùn)算相關(guān)3.2.2內(nèi)置函數(shù):abs()、divmod(x,y)、pow()、max()、min()>>>abs(-3)3>>>abs(-3+4j)5>>>pow(2,5)64>>>pow(3,pow(3,999),10000)Python語(yǔ)言的TIOBE
INDEX3.2.3內(nèi)置的數(shù)字類型轉(zhuǎn)換函數(shù)數(shù)值運(yùn)算操作符可以隱式地轉(zhuǎn)換輸出結(jié)果的數(shù)字類型。例如,兩個(gè)整數(shù)采用運(yùn)算符“/”的除法將可能輸出浮點(diǎn)數(shù)結(jié)果。此外,通過(guò)內(nèi)置的數(shù)字類型轉(zhuǎn)換函數(shù)可以顯式地在數(shù)字類型之間進(jìn)行轉(zhuǎn)換。3.2.3內(nèi)置轉(zhuǎn)換函數(shù):int()、float()、complex()>>>int(10.99)10>>>complex(10.99)(10.99+0j)>>>float((10+99j).imag)99.0>>>float(4)4.0(增加小數(shù)部分)數(shù)字類型的轉(zhuǎn)換練習(xí):(1)30-3**2+8//3**2*10=
[填空1]
(2)3*4**2/8%5=
[填空2]
(3)2**2**3=
[填空3]
(4)(2.5*1.25j)*4j/2=
[填空4]
作答正常使用填空題需3.0以上版本雨課堂填空題4分3.3math庫(kù)的使用
3.3.1概述
math庫(kù)是Python提供的內(nèi)置數(shù)學(xué)類函數(shù)庫(kù)。math庫(kù)不支持復(fù)數(shù)類型。math庫(kù)一共提供了4個(gè)數(shù)學(xué)常數(shù)和44個(gè)函數(shù)。
44個(gè)函數(shù)共分為4類,包括:16個(gè)數(shù)值表示函數(shù)、8個(gè)冪對(duì)數(shù)函數(shù)、16個(gè)三角對(duì)數(shù)函數(shù)和4個(gè)高等特殊函數(shù)。math庫(kù)的概述
首先使用保留字import引用該庫(kù)第一種:importmath對(duì)math庫(kù)中函數(shù)采用math.<b>()形式使用。#ceil向上取整import*>>>importmath#導(dǎo)入標(biāo)準(zhǔn)庫(kù)math>>>print(math.sin(3))#求正弦值>>>print(math.gcd(36,18))#最大公約數(shù)>>>print(math.pi)#常數(shù)π>>>print(math.e)#常數(shù)e>>>print(math.log2(8))#計(jì)算以2為底的對(duì)數(shù)值>>>print(math.log10(100))#計(jì)算以10為底的對(duì)數(shù)值>>>print(math.radians(180))
#把角度轉(zhuǎn)換為弧度math庫(kù)的概述第二種,frommathimport<函數(shù)名>對(duì)math庫(kù)中函數(shù)可以直接采用<函數(shù)名>()形式使用。#floor向下取整from模塊名import*>>>frommathimport*#導(dǎo)入標(biāo)準(zhǔn)庫(kù)math中所有對(duì)象>>>sin(3)#求正弦值0.1411200080598672>>>gcd(36,18)#最大公約數(shù)18>>>pi#常數(shù)π3.141592653589793>>>e#常數(shù)e2.718281828459045>>>log2(8)#計(jì)算以2為底的對(duì)數(shù)值3.0>>>log10(100)#計(jì)算以10為底的對(duì)數(shù)值2.0>>>radians(180)#把角度轉(zhuǎn)換為弧度3.141592653589793math庫(kù)的應(yīng)用計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)硬件(五大功能部件)計(jì)算機(jī)軟件(系統(tǒng)軟件<python>和應(yīng)用軟件app)摩爾定律:?jiǎn)挝幻娣e集成電路上,容納晶體管數(shù)量約每?jī)赡攴槐?。摩爾蓋茨效應(yīng):實(shí)際系統(tǒng)運(yùn)行速度沒(méi)有摩爾定律的速度快;1946第一臺(tái)計(jì)算機(jī)誕生,ENIAC。3.3.2math庫(kù)解析math庫(kù)包括4個(gè)數(shù)學(xué)常數(shù)math庫(kù)包括16個(gè)數(shù)值表示函數(shù)math庫(kù)解析math.fsum([x,y,…]函數(shù)在數(shù)學(xué)求和運(yùn)算中使用,在涉及浮點(diǎn)數(shù)運(yùn)算和結(jié)果比較時(shí),建議采用math庫(kù)函數(shù)。math庫(kù)包括8個(gè)冪對(duì)數(shù)函數(shù)math庫(kù)解析
math庫(kù)解析math庫(kù)包括六個(gè)“三角雙曲函數(shù)”3.4實(shí)例3:天天向上的力量從實(shí)例3.1到實(shí)例3.5關(guān)于天天向上的力量實(shí)例,進(jìn)一步加深Python語(yǔ)言數(shù)據(jù)類型應(yīng)用。3.4實(shí)例:天天向上的力量實(shí)例代碼3.1:天天向上一年365天,以第1天的能力值為基數(shù),記為1.0,當(dāng)好好學(xué)習(xí)時(shí)能力值相比前一天提高1‰,當(dāng)沒(méi)有學(xué)習(xí)時(shí)由于遺忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下來(lái)的能力值相差多少呢?運(yùn)行結(jié)果如下,每天努力1‰,一年下來(lái)將提高44%,好像不多?請(qǐng)繼續(xù)分析。實(shí)例代碼3.1-3.5實(shí)例3.1實(shí)例3.1:設(shè)一年365天,第一天能力為1.0,如果每天學(xué)習(xí)能力提高0.1%,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代賣公司合同范例
- 收購(gòu)農(nóng)戶甘蔗合同范例
- 工程短期勞動(dòng)合同范例
- 體檢承攬合同范例
- 制作買(mǎi)賣合同范例
- 廚房承包工資合同范例
- 樓盤(pán)水電維修合同范例
- 國(guó)外導(dǎo)游勞動(dòng)合同范例
- 手袋加工里布合同范例
- 農(nóng)村冷庫(kù)轉(zhuǎn)讓合同范例
- 統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)《第五單元課文復(fù)習(xí)》課件
- 閥門(mén)施工方案模板
- 雙閉環(huán)直流調(diào)速系統(tǒng)-
- 環(huán)衛(wèi)-落葉-清理-方案
- 《自我激勵(lì)》課件
- 器械相關(guān)感染的預(yù)防與控制
- 英語(yǔ)四線三格線A4紙打印
- 第五次全國(guó)經(jīng)濟(jì)普查綜合試點(diǎn)業(yè)務(wù)培訓(xùn)班課件 從業(yè)人員及工資總額
- 外墻保溫防火措施
- 介詞、動(dòng)詞、形容詞、副詞【思維導(dǎo)圖+要點(diǎn)必背】 高考英語(yǔ)能力提升必背清單 (全國(guó)通用版)
- 菏澤學(xué)院中外教育史期末考試復(fù)習(xí)題
評(píng)論
0/150
提交評(píng)論