Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第4章-第4章使用模塊和庫(kù)編程-4.3常見標(biāo)準(zhǔn)庫(kù)的使用_第1頁
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第4章-第4章使用模塊和庫(kù)編程-4.3常見標(biāo)準(zhǔn)庫(kù)的使用_第2頁
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第4章-第4章使用模塊和庫(kù)編程-4.3常見標(biāo)準(zhǔn)庫(kù)的使用_第3頁
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第4章-第4章使用模塊和庫(kù)編程-4.3常見標(biāo)準(zhǔn)庫(kù)的使用_第4頁
Python財(cái)經(jīng)應(yīng)用-編程基礎(chǔ)、數(shù)據(jù)分析與可視化課件 第4章-第4章使用模塊和庫(kù)編程-4.3常見標(biāo)準(zhǔn)庫(kù)的使用_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Python財(cái)經(jīng)應(yīng)用:編程基礎(chǔ)、數(shù)據(jù)分析與可視化第四章使用模塊和庫(kù)編程中國(guó)農(nóng)業(yè)大學(xué)李輝01

模塊的使用與創(chuàng)建02

包的創(chuàng)建與使用03

常見標(biāo)準(zhǔn)庫(kù)的使用04

常見第三方庫(kù)的使用05

財(cái)經(jīng)數(shù)據(jù)獲取與分析庫(kù)01

模塊的使用與創(chuàng)建02

包的創(chuàng)建與使用03

常見標(biāo)準(zhǔn)庫(kù)的使用04

常見第三方庫(kù)的使用05

財(cái)經(jīng)數(shù)據(jù)獲取與分析庫(kù)4.3常見標(biāo)準(zhǔn)庫(kù)的使用第四章使用模塊和庫(kù)編程海龜繪圖是Python內(nèi)置的一個(gè)比較有趣的模塊,模塊名為turtle。它源于20世紀(jì)60年代的Logo語言。海龜繪圖提供了一些簡(jiǎn)單的繪圖方法,可以根據(jù)編寫的控制指令(代碼),讓一個(gè)“海龜”在屏幕上移動(dòng),在它爬行的路徑上繪制圖形。這樣,不僅可以在屏幕上繪制圖形,還可以看到整個(gè)繪制過程。常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用Turtle庫(kù)繪圖的基本框架:一個(gè)小海龜在坐標(biāo)系中爬行,其爬行軌跡形成了繪制圖形。對(duì)于小海龜來說,有前進(jìn)、后退、旋轉(zhuǎn)、提起畫筆、放下畫筆等動(dòng)作。小海龜?shù)那斑M(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的方向是通過相對(duì)于小海龜當(dāng)前的前進(jìn)方向來確定的。繪圖初始時(shí),小海龜位于畫布正中央,此處坐標(biāo)為坐標(biāo)原點(diǎn)(0,0),前進(jìn)方向?yàn)樗接曳?。橫向?yàn)閤軸,縱向?yàn)閥軸,x、y坐標(biāo)值的單位為像素。Turtle庫(kù)繪圖初始時(shí)小海龜?shù)姆较蚝彤嫴嫉淖鴺?biāo)系,如圖所示:海龜繪圖是Python內(nèi)置的模塊,在使用前無須安裝,只需導(dǎo)入即可。Turtle庫(kù)包含100多個(gè)功能函數(shù),主要包括窗體設(shè)置函數(shù)、畫筆狀態(tài)函數(shù)、畫筆運(yùn)動(dòng)函數(shù)等3類。常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用包簡(jiǎn)單理解就是“文件夾”,一個(gè)包對(duì)應(yīng)著一個(gè)存放了特定代碼的文件夾。包的另外一個(gè)特點(diǎn)就是該文件夾中必須有一個(gè)__init__.py文件,包可以包含模塊,也可以包含包。常見的包結(jié)構(gòu)如圖所示:最簡(jiǎn)單的情況下,只需要一個(gè)空的__init__.py文件即可。導(dǎo)入包時(shí)的初始化代碼或定義__all__變量適合放在此文件中。當(dāng)然包內(nèi)可以有子包,這與文件夾內(nèi)可有子文件一樣。模塊和包的區(qū)別在于模塊是一個(gè)包含變量、語句、函數(shù)或類的程序文件,文件的名字就是模塊名加上.py擴(kuò)展名,包是模塊文件所在的目錄,模塊是實(shí)現(xiàn)某一特定功能的函數(shù)和類的文件。二者之間的關(guān)系是模塊通常在包中,包用于模塊的組織。常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用窗體設(shè)置:在海龜繪圖中,提供了setup()方法設(shè)置海龜繪圖窗口的尺寸、顏色和初始位置。Setup()方法的語法如下:參數(shù)說明:width:設(shè)置窗口的寬度,可以是表示大小為多少像素的整型數(shù)值,也可以是表示屏幕占比的浮點(diǎn)數(shù)值;默認(rèn)為屏幕的50%。height:設(shè)置窗口的高度,可以是表示大小為多少像素的整型數(shù)值,也可以是表示屏幕占比的浮點(diǎn)數(shù)值:默認(rèn)為屏幕的50%。turtle.setup(width=”width”,height=”height”,startx=”leftright”,starty=”topbottom”)常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用窗體設(shè)置:在海龜繪圖中,提供了setup()方法設(shè)置海龜繪圖窗口的尺寸、顏色和初始位置。Setup()方法的語法如下:參數(shù)說明:startx:設(shè)置窗口的X軸位置,設(shè)置為正值,表示初始位置距離屏幕左邊緣多少像素,負(fù)值表示距離右邊緣的像素值,None表示窗口水平居中。starty:設(shè)置窗口的y軸位置,設(shè)置為正值,表示初始位置距離屏幕上邊緣多少像素,負(fù)值表示距離下邊緣,None表示窗口垂直居中。turtle.setup(width=”width”,height=”height”,startx=”leftright”,starty=”topbottom”)常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用設(shè)置畫筆狀態(tài):在初始的繪圖窗口中,坐標(biāo)原點(diǎn)(0,0)的位置默認(rèn)有一個(gè)指向X軸正方向的箭頭(或小烏龜),這就相當(dāng)于我們的畫筆??梢钥刂飘嫻P的線條粗細(xì)、顏色、運(yùn)動(dòng)速度以及是否顯示光標(biāo)等。設(shè)置畫筆狀態(tài)的函數(shù)如表所示:函數(shù)名功能描述pendown()放下畫筆,繪圖初始時(shí),畫筆處于放下狀態(tài)penup()提起畫筆,與pendown()配對(duì)使用pensize(width)指定筆線條的粗細(xì)pencolor()設(shè)置畫筆的顏色常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用設(shè)置畫筆狀態(tài):在初始的繪圖窗口中,坐標(biāo)原點(diǎn)(0,0)的位置默認(rèn)有一個(gè)指向X軸正方向的箭頭(或小烏龜),這就相當(dāng)于我們的畫筆??梢钥刂飘嫻P的線條粗細(xì)、顏色、運(yùn)動(dòng)速度以及是否顯示光標(biāo)等。設(shè)置畫筆狀態(tài)的函數(shù)如表所示:函數(shù)名功能描述begin_fill()開始記錄繪圖路徑,以便后續(xù)用指定的顏色填充封閉圖形區(qū)域end_fill()填充圖形結(jié)束filling()返回填充的狀態(tài),True為填充,F(xiàn)alse為未填clear()清空當(dāng)前窗口,但不改變當(dāng)前畫筆的位置常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用設(shè)置畫筆狀態(tài):在初始的繪圖窗口中,坐標(biāo)原點(diǎn)(0,0)的位置默認(rèn)有一個(gè)指向X軸正方向的箭頭(或小烏龜),這就相當(dāng)于我們的畫筆??梢钥刂飘嫻P的線條粗細(xì)、顏色、運(yùn)動(dòng)速度以及是否顯示光標(biāo)等。設(shè)置畫筆狀態(tài)的函數(shù)如表所示:函數(shù)名功能描述reset()清空當(dāng)前窗口,并重置位置等狀態(tài)為默認(rèn)值screensize()設(shè)置畫布的長(zhǎng)和寬hideturtle()隱藏畫筆的turtle形狀showturtle()顯示畫筆的turtle形狀常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用設(shè)置畫筆狀態(tài):在初始的繪圖窗口中,坐標(biāo)原點(diǎn)(0,0)的位置默認(rèn)有一個(gè)指向X軸正方向的箭頭(或小烏龜),這就相當(dāng)于我們的畫筆??梢钥刂飘嫻P的線條粗細(xì)、顏色、運(yùn)動(dòng)速度以及是否顯示光標(biāo)等。設(shè)置畫筆狀態(tài)的函數(shù)如表所示:函數(shù)名功能描述isvisible()如果turtle可見,則返回True,否則返回Falsewrite(str,font=None)輸出font字體的字符串shape()畫筆初始形狀,常用的形狀名有arrow(向右的等腰三角形)、turtle(海龜)、circle(實(shí)心圓)、square(實(shí)心正方形)、triangle(向右的正三角形)或classic(箭頭)等6種常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用畫筆運(yùn)動(dòng)函數(shù):turtle通過一組函數(shù)控制畫筆的行進(jìn)動(dòng)作,進(jìn)而繪制形狀,如表所示:函數(shù)名功能描述forward()沿當(dāng)前方向前進(jìn)指定距離backward()讓海龜向后移動(dòng)指定的距離right(angle)向右旋轉(zhuǎn)angle角度left(angle)向左旋轉(zhuǎn)angle角度goto(x,y)移動(dòng)到絕對(duì)坐標(biāo)(x,y)處setx()將當(dāng)前x軸移動(dòng)到指定位置常見標(biāo)準(zhǔn)庫(kù)的使用——turtle庫(kù)的使用畫筆運(yùn)動(dòng)函數(shù):turtle通過一組函數(shù)控制畫筆的行進(jìn)動(dòng)作,進(jìn)而繪制形狀,如表所示:函數(shù)名功能描述sety()將當(dāng)前y軸移動(dòng)到指定位置setheading(angle)設(shè)置當(dāng)前朝向?yàn)閍ngle角度home()設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東circle(radius,e)繪制一個(gè)指定半徑r和角度e的圓或弧形dot(r,color)繪制一個(gè)指定半徑r和顏色color的圓點(diǎn)undo()撤銷畫筆最后一步動(dòng)作speed()設(shè)置畫筆的繪制速度,參數(shù)為0~10常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用Python提供了標(biāo)準(zhǔn)模塊random實(shí)現(xiàn)了生成隨機(jī)數(shù)和隨機(jī)數(shù)相關(guān)的操作。random()函數(shù):random()函數(shù)用于生成一個(gè)0~1的隨機(jī)浮點(diǎn)數(shù)。【例4-4】隨機(jī)生成2個(gè)數(shù)的函數(shù)應(yīng)用。運(yùn)行結(jié)果如下:Importrandomprint(“第一個(gè)隨機(jī)數(shù):”,random.random())#生成第一個(gè)隨機(jī)數(shù)print(“第二個(gè)隨機(jī)數(shù):”,random.random())#生成第二個(gè)隨機(jī)數(shù)第一個(gè)隨機(jī)數(shù):0.40410725560502847第二個(gè)隨機(jī)數(shù):0.35348632682287706常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用uniform(a,b)函數(shù):返回a與b之間的隨機(jī)浮點(diǎn)數(shù)N,范圍為[a,b]。如果a的值小于b的值,則生成的隨機(jī)浮點(diǎn)數(shù)N的取值范圍為a≤N≤b;如果a的值大于b的值,則生成的隨機(jī)浮點(diǎn)數(shù)N的取值范圍為b≤N≤a?!纠?-5】隨機(jī)生成2個(gè)浮點(diǎn)數(shù)的函數(shù)應(yīng)用。Importrandomprint(“第一個(gè)[50,100]隨機(jī)數(shù):”,random.uniform(50,100))print(“第二個(gè)[50,100]隨機(jī)數(shù):”,random.uniform(100,50))運(yùn)行結(jié)果如下:第一個(gè)[50,100]隨機(jī)數(shù):67.68694161817494第二個(gè)[50,100]隨機(jī)數(shù):79.84856987973592常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用uniform(a,b)函數(shù):返回a與b之間的隨機(jī)浮點(diǎn)數(shù)N,范圍為[a,b]。如果a的值小于b的值,則生成的隨機(jī)浮點(diǎn)數(shù)N的取值范圍為a≤N≤b;如果a的值大于b的值,則生成的隨機(jī)浮點(diǎn)數(shù)N的取值范圍為b≤N≤a。【例4-5】隨機(jī)生成2個(gè)浮點(diǎn)數(shù)的函數(shù)應(yīng)用。Importrandomprint(“第一個(gè)[50,100]隨機(jī)數(shù):”,random.uniform(50,100))print(“第二個(gè)[50,100]隨機(jī)數(shù):”,random.uniform(100,50))運(yùn)行結(jié)果如下:第一個(gè)[50,100]隨機(jī)數(shù):67.68694161817494第二個(gè)[50,100]隨機(jī)數(shù):79.84856987973592常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用randint(a,b)函數(shù):返回一個(gè)隨機(jī)的整數(shù)N,N的取值范圍為a≤N≤b。需要注意的是,a和b的取值必須為整數(shù),并且a的值一定要小于b的值?!纠?-6】隨機(jī)生成2個(gè)整數(shù)的函數(shù)應(yīng)用。Importrandomprint(random.randint(12,20))#生成的隨機(jī)數(shù)n:12≤n≤20print(random.randint(20,20))#結(jié)果永遠(yuǎn)是20運(yùn)行結(jié)果如下:1820常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用randrange(start,stop,step)函數(shù):返回某個(gè)區(qū)間內(nèi)的整數(shù),可以設(shè)置step,只能傳入整數(shù)。例如:random.randrange(10,100,2),結(jié)果相當(dāng)于從[10,12,14,16,…,96,98]序列中獲取一個(gè)隨機(jī)數(shù)。常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用choice(sequence)函數(shù):從sequence中返回一個(gè)隨機(jī)的元素。其中,sequence參數(shù)可以是序列,列表、元組和字符串。若sequence為空,則會(huì)引發(fā)IndexError異常?!纠?-7】從序列中隨機(jī)抽取1個(gè)元素的函數(shù)應(yīng)用。importrandomprint(random.choi‘e('不忘初心牢’使命'))print(random.choice([3,5,1,9,8,6]))print(random.choic‘(('Tu’l’','L’s’','D’ct')))運(yùn)行結(jié)果如下:記8Dict常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用shuffle()函數(shù):用于將列表中的元素打亂順序,俗稱為洗牌。【例4-8】列表[1,2,3,4,5]中的元素打亂順序的應(yīng)用。importrandomarr=[1,2,3,4,5]random.shuffle(arr)print(arr)運(yùn)行結(jié)果如下:[3,2,1,5,4]常見標(biāo)準(zhǔn)庫(kù)的使用——random庫(kù)的使用sample(sequence,k)函數(shù):從指定序列中隨機(jī)獲取k個(gè)元素作為一個(gè)片段返回,sample函數(shù)不會(huì)修改原有序列?!纠?-9】指定序列([1,2,3,4,5])中隨機(jī)獲取3個(gè)元素。importrandomarr=[1,2,3,4,5]sub=random.sample(arr,3)print(sub)運(yùn)行結(jié)果如下:[3,2,5]常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用1.time庫(kù)系統(tǒng)時(shí)間記錄方式在系統(tǒng)內(nèi)部,日期和時(shí)間為從epoch開始的秒數(shù),稱之為時(shí)間戳(timestamp)。epoch是系統(tǒng)規(guī)定的時(shí)間起始點(diǎn),它通常是1970年1月1日0時(shí)0分0秒。2.time庫(kù)時(shí)間的表現(xiàn)方式(1)timestamp對(duì)象時(shí)間戳表示的是從1970年1月1日00:00:00開始按秒計(jì)算的偏移量。返回的是float類型,返回時(shí)間戳的函數(shù)有time()、clock()。常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用2.time庫(kù)時(shí)間的表現(xiàn)方式(2)struct_time對(duì)象struct_time元組共有9個(gè)屬性,返回struct_time的函數(shù)主要有g(shù)mtime()、localtime()、strptime()。表中列出了這9個(gè)元素的屬性和值。序號(hào)屬性值1tm_year年,比如20222tm_mon月,取值1~123tm_mday日,取值1~314tm_hour時(shí),取值0~235tm_min分,取值0~59常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用2.time庫(kù)時(shí)間的表現(xiàn)方式(2)struct_time對(duì)象struct_time元組共有9個(gè)屬性,返回struct_time的函數(shù)主要有g(shù)mtime()、localtime()、strptime()。表中列出了這9個(gè)元素的屬性和值。(3)格式化時(shí)間字符串此形式使時(shí)間更具可讀性,包括自定義格式和固定格式,比如“2022-5-11”。序號(hào)屬性值6tm_sec秒,取值0~61(60或61是閏秒)7tm_wday星期幾,取值0~6(0表示星期一)8tm_yday年內(nèi)第幾天,取值1~366(儒略歷)9tm_isdst是否夏令時(shí),0否、1是、-1未知常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用3.time庫(kù)常用的函數(shù)(1)time.sleep(secs):線程推遲指定的時(shí)間運(yùn)行,單位為秒。(2)time.time():獲取當(dāng)前時(shí)間戳。(3)time.gmtime():time.gmtime()是將一個(gè)時(shí)間戳轉(zhuǎn)換為UTC時(shí)區(qū)(0時(shí)區(qū))的struct_time對(duì)象。importtimea=time.gmtime()print(a)運(yùn)行結(jié)果如下:time.struct_time(tm_year=2025,tm_mon=7,tm_mday=7,tm_hour=3,tm_min=32,tm_sec=15,tm_wday=0,tm_yday=188,tm_isdst=0)常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用3.time庫(kù)常用的函數(shù)(4)time.localtime(secs):將一個(gè)時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)區(qū)的struct_time對(duì)象。secs缺省為當(dāng)前時(shí)間的時(shí)間戳。例如,time.localtime()。(5)time.asctime([t]):把一個(gè)表示時(shí)間的元組或struct_time表示為形如:'SunJun2023:21:051993'的字符串。如果沒有參數(shù),將會(huì)將time.localtime()作為參數(shù)傳入。例如time.asctime()。常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用3.time庫(kù)常用的函數(shù)(6)time.ctime(secs):將時(shí)間戳轉(zhuǎn)為這個(gè)形式的'SunJun2023:21:051993'格式化時(shí)間。如果沒有參數(shù),將會(huì)將time.localtime()作為參數(shù)傳入。此函數(shù)相當(dāng)于調(diào)用time.asctime(localtime(secs))。運(yùn)行結(jié)果如下:ThuJan109:00:001970importtimea=time.ctime(3600)print(a)常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用3.time庫(kù)常用的函數(shù)(7)time.strftime(format[,t]):把一個(gè)代表時(shí)間的元組或者struct_time(如由time.localtime()和time.gmtime()返回)轉(zhuǎn)化為格式化的時(shí)間字符串。如果t未指定,將傳入time.localtime()。如果元組中任何一個(gè)元素越界,ValueError的錯(cuò)誤將會(huì)被拋出。運(yùn)行結(jié)果如下:2022-02-0321:39:27importtimelocal_time=time.localtime()print(time.strftime('%Y-%m-%d%H:%M:%S',local_time))常見標(biāo)準(zhǔn)庫(kù)的使用——時(shí)間和日期庫(kù)的使用3.time庫(kù)常用的函數(shù)(8)測(cè)量程序性能的函數(shù):time模塊還包含如下用于測(cè)量程序性能的函數(shù)。cess_time():返回當(dāng)前進(jìn)程的處理器運(yùn)行時(shí)間。此函數(shù)取代time.clock(),后者在Pyt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論