《Python程序設(shè)計基礎(chǔ)》課件 第五章 函數(shù)與模塊_第1頁
《Python程序設(shè)計基礎(chǔ)》課件 第五章 函數(shù)與模塊_第2頁
《Python程序設(shè)計基礎(chǔ)》課件 第五章 函數(shù)與模塊_第3頁
《Python程序設(shè)計基礎(chǔ)》課件 第五章 函數(shù)與模塊_第4頁
《Python程序設(shè)計基礎(chǔ)》課件 第五章 函數(shù)與模塊_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章函數(shù)與模塊166167第一節(jié)函數(shù)定義與調(diào)用第二節(jié)函數(shù)參數(shù)第三節(jié)函數(shù)變量作用域第四節(jié)數(shù)學(xué)函數(shù)第五節(jié)字符串函數(shù)第六節(jié)列表函數(shù)第七節(jié)模塊與包函數(shù)定義與調(diào)用

第一節(jié)1681.?理解函數(shù)的概念及作用。2.?掌握函數(shù)的定義方法和調(diào)用方式。169一、函數(shù)的概念及作用1.?函數(shù)的概念函數(shù)是組織好的、可重復(fù)使用的、用于實現(xiàn)某一功能的代碼段。2.?函數(shù)的作用從代碼角度來看,借助函數(shù),代碼邏輯可以得到優(yōu)化,更便于閱讀;從程序員角度來看,借助函數(shù),可以提高代碼編寫效率和質(zhì)量,便于測試和更新代碼;從團隊協(xié)作角度來看,合理共享函數(shù),可以提升團隊效率。170二、函數(shù)的定義與調(diào)用1.?函數(shù)的定義自定義函數(shù)的語法格式:def函數(shù)名([形參1,形參2,…]):

函數(shù)體[return返回值]說明:(1)函數(shù)代碼塊以關(guān)鍵字def開頭,空一格緊跟函數(shù)名、括號和冒號,然后是函數(shù)體。函數(shù)體相對于關(guān)鍵字def有一定的縮進量。171(2)函數(shù)名不能與內(nèi)置函數(shù)名相同,也不能與Python中的關(guān)鍵字相同。(3)形參為可選項,形參間用半角逗號“,”分隔。調(diào)用函數(shù)時,傳遞過來的值會賦給形參,所以可以將形參理解為函數(shù)的輸入,形參傳遞對象可以是數(shù)字、字符串,也可以是列表、元組等。(4)函數(shù)體中可以使用return語句返回一個值給調(diào)用方。return不帶返回值或沒有return語句時,系統(tǒng)會自動返回None。(5)在定義函數(shù)時,為提高代碼的可讀性,可在函數(shù)體開頭加上注釋,以說明函數(shù)的功能。1722.?函數(shù)的調(diào)用定義函數(shù)后,可以在程序中使用該函數(shù),這個過程稱為函數(shù)的調(diào)用。函數(shù)的調(diào)用格式:函數(shù)名([實參1,實參2,…])173函數(shù)參數(shù)第二節(jié)1741.?了解形參和實參的含義。2.?了解參數(shù)的傳遞方式。3.?了解參數(shù)的類型。4.?了解序列解包。175一、函數(shù)參數(shù)的傳遞與類型1.?函數(shù)參數(shù)的傳遞在Python中調(diào)用函數(shù)時,實參向形參的數(shù)據(jù)傳遞是單向的,即把實參的數(shù)據(jù)傳遞給形參,而不能由形參傳回給實參。當(dāng)函數(shù)獲得實參后,如果函數(shù)體內(nèi)部改變了形參,該改變是否會影響實參,取決于傳遞的參數(shù)類型。176Python中的不可變對象與可變對象(1)不可變對象【例】在Python交互模式下輸入如下內(nèi)容并執(zhí)行。變量賦值a=1后再賦值a=2,可發(fā)現(xiàn)內(nèi)存地址發(fā)生了變化,這里實際是在內(nèi)存中新生成了一個整型對象,原來的1被丟棄。所以說,這里不是改變a的值,而是新生成了一個a。因此,將類似數(shù)值型數(shù)據(jù)對象稱為不可變對象。177(2)可變對象【例】在Python交互模式下輸入如下內(nèi)容并執(zhí)行。178定義列表list1=[1,2,3]后再通過list1[1]=4對其中索引為1的元素進行修改,可發(fā)現(xiàn)修改后列表對象在內(nèi)存中的地址沒有改變,只是其內(nèi)部的一部分值被修改了。因此,將類似列表數(shù)據(jù)對象稱為可變對象。在Python中,如果傳遞的數(shù)據(jù)為不可變類型,那么在函數(shù)體內(nèi)對形參的修改不會影響實參;如果傳遞的數(shù)據(jù)為可變類型,那么在函數(shù)體內(nèi)對形參的修改可能會影響實參。1792.?函數(shù)參數(shù)的類型在Python中,函數(shù)參數(shù)的類型有多種,可分為位置參數(shù)、關(guān)鍵字參數(shù)、默認參數(shù)和不定長參數(shù),見下表。180函數(shù)參數(shù)的類型(1)位置參數(shù)位置參數(shù)也稱為必備參數(shù),是較常用的一種參數(shù)。函數(shù)調(diào)用時,實參需以正確的順序傳給形參,且實參和形參的數(shù)量相等。(2)關(guān)鍵字參數(shù)關(guān)鍵字參數(shù)是一種特殊的參數(shù)傳遞方式。其特點在于側(cè)重于通過指定參數(shù)名來傳遞實參,在調(diào)用函數(shù)時,可依據(jù)需要傳入0個或多個帶有明確參數(shù)名的參數(shù)。這些參數(shù)在函數(shù)內(nèi)部自動被組裝成一個字典,在函數(shù)調(diào)用時,使用“形參名=實參值”這種形式,實參的順序與形參的順序可以不一致,并不影響傳遞的結(jié)果,因而編程人員無須識記參數(shù)順序。181(3)默認參數(shù)在定義函數(shù)時,可以給參數(shù)賦一個默認值。函數(shù)調(diào)用時,如果沒有給這個參數(shù)傳遞值,將使用默認值。(4)不定長參數(shù)當(dāng)函數(shù)中的參數(shù)個數(shù)無法確定時,在Python中還可以定義可變長度的參數(shù)(或稱為不定長參數(shù))。所謂不定長參數(shù),是指傳遞的參數(shù)個數(shù)是變化的,可以是0個,也可以是多個。不定長參數(shù)在函數(shù)定義時主要有兩種形式:函數(shù)名([形參,形參,…,]*形參)和函數(shù)名([形參,形參,…,]**形參)。182二、序列解包序列解包是指一次給多個變量賦多個值。在調(diào)用包含多個參數(shù)的函數(shù)時,可以使用列表、元組、字典、集合及其他可迭代對象作為實參,其形式如下:*實參,Python解釋器將自動對其進行解包,然后傳遞給多個位置形參。183【例】在PyCharm集成開發(fā)環(huán)境下輸入以下代碼并運行程序,了解序列解包

“*實參”的作用。184程序運行結(jié)果如圖所示。實例中func()函數(shù)的形參為a、b、c和d,第一次調(diào)用時傳遞列表,函數(shù)執(zhí)行時,列表中的4個元素會被自動賦給函數(shù)中的4個參數(shù)。第二次調(diào)用時傳遞的是字典,解包時默認傳遞的是字典的鍵。第三次調(diào)用時明確是調(diào)用字典的鍵值,所以解包時傳遞的是字典的鍵值。185程序運行結(jié)果函數(shù)變量作用域第三節(jié)1861.?理解函數(shù)變量的作用域。2.?能區(qū)分全局變量與局部變量。187一、局部變量和全局變量Python中的變量根據(jù)作用范圍可分為兩種類型:局部變量和全局變量,其作用域及訪問范圍見下表。在函數(shù)內(nèi)部定義的變量只在函數(shù)內(nèi)部起作用,被稱為局部變量。在函數(shù)執(zhí)行結(jié)束后,局部變量自動被刪除,不能再使用。在函數(shù)外部定義的變量,或在函數(shù)內(nèi)部使用關(guān)鍵字global聲明的變量,被稱為全局變量。全局變量自定義起在后續(xù)程序范圍內(nèi)均可訪問。188局部變量和全局變量的作用域及訪問范圍二、關(guān)鍵字global在函數(shù)內(nèi)顯式地用關(guān)鍵字global進行變量聲明,可以將變量聲明為全局變量。【例】在PyCharm集成開發(fā)環(huán)境下,要求依次輸入若干學(xué)生的成績,并統(tǒng)計成績在85分以上的人數(shù),以輸入-1作為結(jié)束標(biāo)記,請利用全局變量來實現(xiàn)。189程序運行結(jié)果如圖所示。190程序運行結(jié)果數(shù)學(xué)函數(shù)第四節(jié)1911.?了解數(shù)學(xué)函數(shù)的含義。2.?了解abs?(?)、max?(?)、min?(?)、sqrt?(?)、pow?(?)、round?(?)等函數(shù)的使用方法。192數(shù)學(xué)函數(shù)就是進行數(shù)學(xué)計算的函數(shù)。Python中常用的數(shù)學(xué)函數(shù)見下表。193Python中常用的數(shù)學(xué)函數(shù)【例】在PyCharm集成開發(fā)環(huán)境下,根據(jù)班級學(xué)生的成績,統(tǒng)計出成績最高分、最低分、平均分以及成績在60分以下的人數(shù)和成績在60~100分的不同分數(shù)段的人數(shù)。194程序運行結(jié)果如圖所示。195程序運行結(jié)果字符串函數(shù)第五節(jié)1961.?了解字符串函數(shù)的含義。2.?了解len?(?)、count?(?)、find?(?)、join?(?)、split?(?)、strip?(?)、replace?(?)、upper?(?)、?lower?(?)?等函數(shù)的使用方法。197字符串函數(shù)是與字符串相關(guān)的一些函數(shù),可實現(xiàn)字符串的分解、合并、統(tǒng)計等操作。Python中常用的字符串函數(shù)見下表。198Python中常用的字符串函數(shù)199Python中常用的字符串函數(shù)【例

】在PyCharm集成開發(fā)環(huán)境下一次輸入多個成績,并統(tǒng)計出最高分、最低分和平均分。程序運行結(jié)果如圖所示。200程序運行結(jié)果列表函數(shù)第六節(jié)2011.?了解列表函數(shù)的含義。2.?了解append?(?)、extend?(?)、insert?(?)、pop?(?)、remove?(?)、count?(?)、sort?(?)?等常用的列表函數(shù)。202列表函數(shù)是與列表相關(guān)的一些函數(shù),能實現(xiàn)列表元素的添加、刪除、插入等相關(guān)操作,其功能類似列表中的方法。Python中常用的列表函數(shù)下見表。203Python中常用的列表函數(shù)204Python中常用的列表函數(shù)【例】在PyCharm集成開發(fā)環(huán)境下計算運動員的成績。評分規(guī)則如下:共有7名評委為運動員評分,最高可評10分,在刪除一個最高分和一個最低分后,將其他評委的評分求平均分,作為該運動員的成績(保留兩位小數(shù))。205程序運行結(jié)果如圖所示。206程序運行結(jié)果模塊與包第七節(jié)2071.?了解模塊的概念。2.?掌握模塊的導(dǎo)入方法。3.?了解包的概念。4.?了解Python標(biāo)準(zhǔn)庫。5.?能安裝并使用第三方庫。208軟件開發(fā)是一項系統(tǒng)工程,一般通過多人協(xié)作來完成。在開發(fā)中,可以將自己設(shè)計的函數(shù)分享給他人,也可以引入他人設(shè)計好的函數(shù),以提高編程效率。在Python中,模塊是一個包含Python定義和聲明的文件,模塊的擴展名通常與程序文件的擴展名相同,即“.py”,例如模塊“datetime.py”。模塊可以包含函數(shù)、類、變量等,并且可以定義可執(zhí)行的代碼。模塊在Python中扮演著重要的角色,能使得代碼更加清晰,便于管理和維護。模塊一般存放在安裝文件夾Lib中,分為標(biāo)準(zhǔn)庫模塊和自定義模塊兩大類。209一、模塊的導(dǎo)入方法1.?import?模塊名【例】在Python交互模式下輸入如下內(nèi)容并執(zhí)行。2.?from?模塊名?import?函數(shù)名【例】在Python交互模式下輸入如下內(nèi)容并執(zhí)行。2103.?from?模塊名?import?*【例】在Python交互模式下輸入如下內(nèi)容并執(zhí)行。211二、Python標(biāo)準(zhǔn)庫Python提供了龐大的標(biāo)準(zhǔn)庫,標(biāo)準(zhǔn)庫內(nèi)置了大量的模塊,而模塊中內(nèi)置了大量的函數(shù)和類。常用標(biāo)準(zhǔn)庫模塊見下表。212常用標(biāo)準(zhǔn)庫模塊1.?datetime日期和時間模塊datetime包括日期和時間的相關(guān)功能,下表所示為其部分常用方法。213datetime的部分常用方法2.?math數(shù)學(xué)模塊math提供了很多數(shù)學(xué)函數(shù),下表所示為math的部分常用函數(shù)。214math的部分常用函數(shù)3.?random在實際應(yīng)用中,常常需要使用隨機數(shù),如生成一系列隨機數(shù)計算其平均值。下表所示為隨機數(shù)模塊random的部分常用函數(shù)。215隨機數(shù)模塊random的部分常用函數(shù)三、第三方庫的安裝requests是Python中的HTTP客戶端庫,它可以方便、快捷地發(fā)送HTTP請求并處理HTTP響應(yīng)。requests不是Python中一個預(yù)裝好的庫,需要手動安裝,可以使用自帶的pip命令來安裝。1.保證計算機已連接互聯(lián)網(wǎng)。2.打開“命令提示符”對話框,如圖所示。216“命令提示符”對話框3.由于pip命令不是操作系統(tǒng)的內(nèi)置命令,所以需要切換到Python安裝程序所在的pip命令目錄,如圖所示,本示例中pip命令所在目錄為D:\Programs\Python\Python311\Scripts。其切換的步驟如圖中所示。217切換到pip命令目錄4.使用pip命令安裝:pipinstallrequests,自動下載并安裝requests,如圖所示。218自動下載并安裝requests安裝完成后,就可以順利導(dǎo)入第三方庫requests,如圖所示。從上圖中可以發(fā)現(xiàn),在Python交互模式下,在使用pip命令安裝第三方庫requests前使用importrequests語句無法導(dǎo)入該庫,而使用pip命令安裝第三方庫requests后可以順利導(dǎo)入該庫。219導(dǎo)入第三方庫requests四、自定義模塊自定義模塊是由用戶創(chuàng)建的代碼文件,可以設(shè)計個性化模塊來豐富Python的功能。【例】在PyCharm集成開發(fā)環(huán)境下創(chuàng)建兩個文件,將兩個文件的文件名分別命名為test5.py和

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論