《Python程序設計基礎》課件全套 第1-8章 Python 概述-文件與異常_第1頁
《Python程序設計基礎》課件全套 第1-8章 Python 概述-文件與異常_第2頁
《Python程序設計基礎》課件全套 第1-8章 Python 概述-文件與異常_第3頁
《Python程序設計基礎》課件全套 第1-8章 Python 概述-文件與異常_第4頁
《Python程序設計基礎》課件全套 第1-8章 Python 概述-文件與異常_第5頁
已閱讀5頁,還剩311頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章Python概述12第一節(jié)Python語言簡介第二節(jié)Python開發(fā)環(huán)境搭建第三節(jié)Python代碼編寫規(guī)范第四節(jié)Python中的輸入與輸出第五節(jié)Python中的程序流程Python語言簡介第一節(jié)31.?了解程序設計語言的分類。2.?了解Python的發(fā)展歷史和特點。3.?掌握Python的應用領域。4一、機器語言計算機內部以二進制代碼的形式存儲程序指令和各類數(shù)據(jù),因此,通過二進制代碼的形式表示的程序指令被稱為機器指令。全部機器指令的集合構成計算機的機器語言,用機器語言編寫的程序被稱為目標程序。只有目標程序才能被計算機直接識別和執(zhí)行。5二、匯編語言匯編語言又被稱為符號語言,其實質和機器語言類似,都直接對計算機硬件進行操作,只不過指令采用了英文縮寫的標識符,更容易被人識別和記憶。匯編程序通常由三部分組成:匯編指令、偽指令和宏指令。由于匯編語言與硬件的聯(lián)系緊密相關,因此,主要應用于涉及具體硬件平臺或一些對性能要求較高的應用項目開發(fā)中。6三、高級語言高級語言相對于機器語言而言是高度封裝了的編程語言。使用高級語言所編寫的程序不能直接被計算機識別,必須經過轉換才能被執(zhí)行。高級語言又可分為面向過程的高級語言和面向對象的高級語言。7程序設計語言的發(fā)展情況1.?Python的發(fā)展歷史1989年,荷蘭程序員吉多·范羅蘇姆開發(fā)了一種繼承ABC語言(一種結構化高級語言)的腳本語言,即Python(大蟒蛇)。Python的發(fā)展歷史如圖所示。8Python的發(fā)展歷史2.?Python的特點(1)

更易理解。Python語言抽象出對象的行為和屬性,解決了結構化程序的復雜性,使得程序設計更加貼近生活。(1)

更易理解。Python語言抽象出對象的行為和屬性,解決了結構化程序的復雜性,使得程序設計更加貼近生活。(3)易于學習。Python語言的關鍵字較少,結構簡單,學習起來更加簡便。9(4)開源免費。Python的使用和開發(fā)是完全免費的。(5)具有可移植性。由于其具有開放源代碼的特性,使用Python語言編寫的應用程序可以運行在不同的操作系統(tǒng)上。(6)可組合使用。Python程序可以以多種形式與其他編程語言編寫的程序組合在一起。103.?Python的應用由于Python語言具備的優(yōu)點和發(fā)展趨勢,近十年來Python語言也成為數(shù)據(jù)分析、人工智能、全棧開發(fā)等應用領域的首選開發(fā)工具,如圖所示。11Python的應用Python開發(fā)環(huán)境搭建第二節(jié)121.?能在Windows環(huán)境下下載并安裝Python。2.?能搭建Python的開發(fā)環(huán)境。3.?掌握?Python?程序的創(chuàng)建、編輯和運行方法。4.?了解Python第三方常用集成開發(fā)環(huán)境。5.?能下載并安裝PyCharm集成開發(fā)環(huán)境。6.?能使用PyCharm集成開發(fā)環(huán)境編寫程序。13一、下載并安裝Python1.?下載Python安裝包(1)

在瀏覽器中輸入Python官方網址https:///,

打開官方網站,單擊“Downloads”鏈接,打開下載Python安裝包網頁,如圖所示。14Python官方網站下載頁面(2)在上圖中單擊“DownloadPython3.11.3”按鈕,下載Python安裝包,也可以單擊“Windows”鏈接,進入版本的選擇頁面,如圖所示。15Python版本下載列表2.?安裝Python(1)下載完成后,雙擊安裝程序包,進入Python安裝界面。(2)在安裝界面中選擇默認安裝,也可以自定義安裝,如圖所示。16Python安裝界面(3)安裝完成后,在Windows命令提示符窗口中輸入“python-V”,查看Python版本信息,若能顯示版本信息,如圖所示,則證明安裝成功。17安裝成功驗證界面二、使用Python集成開發(fā)環(huán)境IDLE1.?編寫Python交互式代碼在“開始”菜單中選擇“Python3.11”命令,或者在Windows命令提示符窗口中輸入“python”命令,出現(xiàn)如圖所示信息,表示已經進入Python交互模式。在“>>>”提示符下輸入print("HelloWorld!"),按回車鍵確認后,下一行中顯示運行結果"HelloWorld!",說明程序被成功執(zhí)行。18Python交互模式2.?編寫Python腳本式代碼交互模式一般用于調試少量代碼。(1)在“開始”菜單中選擇“IDLE”命令,打開IDLE交互界面,如圖所示,該界面與Windows命令提示符窗口的Python交互模式功能相同。19IDLE交互界面(2)單擊“File(文件)”→“NewFile(新文件)”命令,打開腳本式代碼編寫對話框,創(chuàng)建一個程序文件,如圖所示。(3)單擊“File(文件)”→“Save(保存)”命令保存文件,將其保存為“.py”或“.pyw”(GUI程序)文件。20IDLE交互界面(4)單擊“Run(運行)”→“RunModule(運行模塊)”命令運行程序,運行結果輸出到交互界面中,如圖所示。21顯示程序運行結果三、下載并安裝PyCharm,創(chuàng)建Python文件1.?下載PyCharm安裝包在瀏覽器中輸入網址https:///PyCharm,打開PyCharm下載界面,如圖所示,單擊“Community”中的“Download(下載)”按鈕進行下載。22PyCharm下載界面2.?安裝PyCharm(1)PyCharm下載完成后,雙擊安裝程序包,在彈出的對話框中單擊“Next”按鈕,修改安裝路徑或采用默認安裝路徑。(2)單擊“Next”按鈕,在彈出的對話框中勾選“CreateDesktopShortcut”下的復選框,安裝完畢會在桌面上創(chuàng)建快捷方式。(3)勾選“CreateAssociations”下的復選框。通過這種方式可以將擴展名為“.py”的文件使用PyCharm打開。23(4)勾選“UpdatePATHVariable(restartneeded)”下的復選框,計算機重啟后系統(tǒng)會更新路徑變量,如圖所示。(5)單擊“Next”按鈕,進入安裝過程,并完成安裝。24PyCharm安裝界面3.?創(chuàng)建Python文件(1)啟動PyCharm軟件,打開PyCharm窗口,如圖所示。25PyCharm窗口(2)在左側選中“Projects(項目)”選項,在右側單擊“NewProject(新項目)”按鈕,彈出“CreateProject(創(chuàng)建項目)”對話框,設置Location(位置)文件保存的路徑和Baseinterpreter(基本解釋器)的位置,如圖所示。26“Create?Project”對話框(3)單擊“Create(創(chuàng)建)”按鈕,創(chuàng)建一個項目,在項目名稱上單擊鼠標右鍵,在彈出的快捷菜單中單擊“New(新建)”→“PythonFile(Python文件)”命令,如圖所示。27新建Python文件(4)在“NewPythonfile”對話框中輸入文件名,如“Welcome”,選擇“Pythonfile”選項,如圖所示,按回車鍵確認后,Python文件即創(chuàng)建成功。28新建Python文件對話框(5)在PyCharm工作窗口(代碼編輯區(qū))中輸入程序代碼,如print("WelcometolearnPython!"),單擊“運行”按鈕或按下快捷鍵Ctrl+F5運行程序,在工作窗口下方顯示運行結果,如圖所示。29PyCharm工作窗口Python代碼編寫規(guī)范第三節(jié)301.?掌握Python程序的縮進方法和作用。2.?掌握Python程序的注釋含義和方法。3.?掌握Python程序的標識符含義和命名原則。4.?了解Python程序的關鍵字。31一、縮進Python程序是通過縮進來控制代碼邏輯結構的。在類定義、函數(shù)定義、選擇結構和循環(huán)結構中,冒號及換行后的縮進代表代碼塊的開始,無縮進則表示代碼塊的結束。同一級別的代碼塊應通過設置相同的空格數(shù)來保持同樣的縮進。二、注釋注釋是一行或多行說明性文字,用于解釋代碼的功能或標注相關信息。注釋可以增強代碼的可讀性,而且注釋內容不會被執(zhí)行。單行注釋以#開頭,多行注釋用三個單引號'''或者三個雙引號"""將注釋的內容括起來。32三、標識符1.標識符的命名以字母或下畫線開頭,只能由字母、數(shù)字、下畫線組成。2.標識符嚴格區(qū)分大小寫。3.標識符的命名應有意義,要“見名知意”,常用的命名法有如下三種。(1)大駝峰命名法:每一個單詞首字母大寫。(2)小駝峰命名法:第一個單詞首字母小寫,其余單詞首字母大寫。(3)下畫線命名法:單詞之間以下畫線相連。4.自定義的標識符名稱不能使用系統(tǒng)關鍵字。33四、關鍵字Python中的關鍵字有特殊含義,不允許通過任何方式改變其含義。在Python3.11中共有如下35個保留關鍵字:False、None、True、and、as、assert、async、await、break、class、continue、def、del、elif、else、except、finally、for、from、global、if、import、in、is、lambda、nonlocal、not、or、pass、raise、return、try、while、with、yield。34Python中的輸入與輸出第四節(jié)351.?掌握print?(?)函數(shù)的使用方法。2.?掌握input?(?)函數(shù)的使用方法。3.?掌握格式化輸出的方法。36一、input()函數(shù)在Python中,使用input()函數(shù)獲得用戶從鍵盤輸入的內容,返回類型為字符串。格式:input([提示信息])功能:接收用戶輸入的信息,以回車鍵結束輸入。說明:[提示信息]為字符串數(shù)據(jù),用于對用戶輸入進行簡短的提示,返回類型為字符串。37二、print()函數(shù)Python中使用print()函數(shù)輸出相應的內容。格式:print([輸出列表][,sep='

'][,end='\n'])功能:輸出指定的內容。說明:1.參數(shù)“輸出列表”為要輸出的內容,多個輸出項之間用逗號分隔。2.參數(shù)“sep”用于指定輸出內容之間的分隔符,默認為空格。3.參數(shù)“end”用于指定結束標志符,默認為換行符“\n”。38三、格式化輸出在Python中,支持以兩種方式來實現(xiàn)格式化輸出。1.?格式符%通過格式符%來實現(xiàn)字符串格式化輸出,其語法格式如下。"%[-][+][0][m][n]格式字符"%x在以上語法格式中,[]表示該項為可選項。格式符和格式字符的含義見下表。3940格式符和格式字符的含義例如,"%+010.2f"%123.4567的輸出結果為'+000123.46'。說明如下。(1)第一個%為格式標志,表示格式開始。(2)+表示輸出正數(shù)時在數(shù)值前添加+。(3)第1個0表示為指定空位補0。(4)10表示輸出的最小寬度,即輸出10位,如果輸出數(shù)據(jù)不足10位,則需補齊;如果輸出數(shù)據(jù)超過10位,則按實際情況輸出。(5).2表示輸出的精度,即保留兩位小數(shù)。(6)f表示格式字符,輸出數(shù)據(jù)類型應按要求轉換,此處為浮點數(shù)。常用的格式字符見下表。4142常用的格式字符(7)第二個%為格式運算符,固定模式。(8)123.4567表示待轉換的數(shù)據(jù),由于保留兩位小數(shù),所以輸出時需要四舍五入。(9)格式字符串需要用雙引號""括起來。2.?format?(?)函數(shù)

格式:字符串.format(輸出列表)功能:將字符串當成一個模板,通過傳入的參數(shù)進行格式化,并使用“{}”作為特殊字符代替“%”。說明:{}中的內容用于指向傳入對象在format()中的位置,可以是數(shù)字表示的位置,也可以是關鍵字參數(shù)。4344format?(?)函數(shù)中可用的格式符利用format()函數(shù)進行格式化輸出時,也可以使用格式符來指定輸出寬度、對齊方式、補零、小數(shù)精度等。format()函數(shù)中可用的格式符見下表。Python中的程序流程第五節(jié)451.?了解程序流程圖的作用。2.?能分辨程序流程圖中常見的圖例及用途。3.?能繪制并設計程序流程圖。46一、程序流程圖的作用程序流程圖又稱程序框圖,是用統(tǒng)一規(guī)定的標準符號描述程序運行具體步驟的圖形。程序流程圖通過對輸入輸出數(shù)據(jù)和處理過程的詳細分析,將計算機的主要運行步驟和內容標識出來。47把大象放進冰箱的程序流程圖

二、程序流程圖的圖例上圖中使用了兩種圖例,即起止框和處理框。程序流程圖中常見的圖例見下表。48程序流程圖中常見的圖例第二章Python基礎語法4950第一節(jié)變量與常量第二節(jié)運算符第三節(jié)數(shù)值型與布爾型第四節(jié)字符串第五節(jié)數(shù)據(jù)類型轉換變量與常量第一節(jié)511.?掌握變量的含義和命名規(guī)則。2.?掌握變量的三個特征。3.?掌握為變量賦值的含義。4.?了解常量的概念。52一、變量1.?變量的含義顧名思義,變量是指在程序運行過程中其值會發(fā)生變化的量,必須先為變量賦值,然后才能

使用變量。Python中的變量無須事先聲明類型,可以在使用過程中通過賦值結果自動判斷類型。532.?變量的命名變量名屬于標識符范疇,其命名規(guī)則與標識符的命名規(guī)則一致。當變量被使用時,在計算機內存中產生兩個動作,一是開辟了指定地址的空間,二是賦予指定的變量值。在Python語言中,變量必須強制賦值才能使用,否則解釋器會報錯。543.?變量的特征變量被定義后,就具備了三個特征:標識、數(shù)據(jù)類型和值。獲取以上三個特征的方法分別是id(變量名)、type(變量名)和變量名。【例】在Python交互模式下輸入如下內容并執(zhí)行。554.?為變量賦值的含義將一個值賦給某個變量的過程,稱為賦值。將確定的值賦給變量的語句稱為賦值語句。在上例中已經實現(xiàn)對變量num的賦值,經過賦值后的num值為1。格式:變量名=值或表達式,如a=10或a=3+5。功能:“=”稱為賦值號,將“=”右邊的值或表達式計算的結果賦給“=”左邊的變量,使變量獲得一個值和相應的數(shù)據(jù)類型。在Python中允許同時為多個變量賦值,以提高程序員編寫程序的效率。5.?變量的類型變量都是有類型的,Python語言中變量的類型在賦值后才被確定。56二、常量變量對應的是常量。常量是指在程序運行中其值保持不變的量。57運算符第二節(jié)581.?了解運算符的分類。2.?掌握算術、賦值、關系、邏輯、成員等常用運算符的使用方法。3.?掌握表達式運算中的優(yōu)先級順序。59一、運算符的分類在Python中要對數(shù)據(jù)進行運算,可以通過各種運算符來實現(xiàn)。運算符將不同的數(shù)據(jù)連接起來就組成了表達式,同時又可以實現(xiàn)運算的功能。1.?算術運算符Python中主要的算術運算符見下表。6061算術運算符2.?賦值運算符Python中提供了一系列與算術運算符相關的賦值運算符,見下表。62賦值運算符3.?關系運算符Python中定義了一種數(shù)據(jù)類型,即布爾型(bool),布爾型有兩個常量,即True和False。關系運算符也稱比較運算符,根據(jù)表達式的值返回布爾型True(真)或False(假),常用于條件判斷。Python中的關系運算符見下表。6364關系運算符4.?邏輯運算符邏輯運算符用于連接布爾型的數(shù)據(jù),用bool()函數(shù)可將任意類型的數(shù)據(jù)轉換為布爾型。Python中的邏輯運算符見下表。65邏輯運算符5.?成員運算符數(shù)值序列、字符串、列表、元組、字典等集合概念對象可以通過成員運算符判斷一個元素是否在某一個序列中。Python中的成員運算符見下表。66成員運算符二、運算符的優(yōu)先級當一個表達式中包含多種類型的運算符時,表達式的運算按照運算符的優(yōu)先級“從高到低、從左到右”的順序進行。運算符的優(yōu)先級見下表。67運算符的優(yōu)先級68運算符的優(yōu)先級上表中的各運算符優(yōu)先級順序是從上到下依次降低的,同一級中的運算符以表達式中運算符的先后順序從左到右依次運算。若表達式中有括號()的,則優(yōu)先計算括號()中的表達式。數(shù)值型與布爾型第三節(jié)691.?掌握整型、浮點型和復數(shù)這三種數(shù)值型的用法。2.?掌握布爾型的用法。3.?了解布爾型與數(shù)值型的關系。4.?掌握int?(?)、float?(?)、complex?(?)等函數(shù)的使用方法及三者之間的轉換關系。70一、整型整型又稱為整數(shù),由正整數(shù)、零和負整數(shù)構成。整型有多種表示方法,常用的有十進制整型、二進制整型(以0b開頭)、八進制整型(以0o開頭)、十六進制整型(以0x開頭)。二、浮點型浮點型對應于數(shù)學中的小數(shù),由整數(shù)部分與小數(shù)部分組成。浮點型數(shù)值也可以用科學計數(shù)法表示。71三、復數(shù)復數(shù)是數(shù)學中的概念,由實數(shù)部分和虛數(shù)部分組成,即把實數(shù)擴展到了虛數(shù),其數(shù)學表示形式為a+bj(a、b均為實數(shù))。a稱為實數(shù)部分,b稱為虛數(shù)部分,j(或J)為虛數(shù)單位(j2=-1),bj稱為虛數(shù)。在Python中提供了數(shù)值型數(shù)據(jù)的轉換函數(shù)。數(shù)值類型轉換函數(shù)有int()、float()、complex()。三者之間的轉換關系如圖所示。72數(shù)值型數(shù)據(jù)的轉換關系四、布爾型布爾型又稱為邏輯型。在Python中用True和False表示邏輯值,用于邏輯判斷。邏輯型數(shù)據(jù)是一種特殊的整型,True可以用1替換,代表“真”;False可以用0替換,代表“假”。73

字符串第四節(jié)741.?理解轉義字符的含義及用法。2.?掌握字符串的基本操作。75一、轉義字符的用法在字符串中,并不是所有字符串只要兩端加了引號,就會原樣輸出,當遇到轉義字符(\)時,其字符串格式會發(fā)生變化。在Python中常用的轉義字符見下表。76常用的轉義字符二、字符串的基本操作字符在編寫程序時應用廣泛。在Python中,可以用成對的單引號(')、雙引號("")或三引號(""")將多個字符組成字符串,其中三引號還支持多行字符串。本書中主要使用雙引號表示字符串。字符串基本操作包括讀取、合并和刪除。字符串是一組字符的序列,一旦定義,就不可改變。訪問字符串中的某個字符需要知道字符所在的位置,即索引,索引是從0開始編號的。77字符串索引1.?讀取字符串從上表中可以看出,字符串中每個字符都對應了一個索引,可以使用[索引]方式讀取字符串對應的值。(1)通過單索引讀取格式:變量[索引]功能:讀取字符串中的某個字符。78(2)通過切片讀取在Python中通過[begin:end]方式,獲取集合中的部分元素的操作稱為切片。需要注意的是切片產生的字符串不包含end位置的字符。格式:變量[begin:end]功能:讀取字符串中的部分字符。說明:begin表示起始索引,end表示結束索引。792.合并字符串字符串可以通過加號(+)進行合并操作。如字符串表達式"tom"+"&"+"jerry",經過合并運算后得到的新字符串為"tom&jerry"。3.?刪除字符串格式:del(變量)功能:刪除字符串。字符串一旦被刪除后,則該引用不再指向具體對象,字符串在內存中被清空,再次被調用將會報錯。80數(shù)據(jù)類型轉換第五節(jié)811.?了解數(shù)據(jù)類型的轉換方法。2.?能運用?float?(?)、str?(?)、repr?(?)、chr?(?)、ord?(?)、hex?(?)、oct?(?)、bin?(?)、eval?(?)等函數(shù)實現(xiàn)數(shù)據(jù)類型的轉換。82在實際應用中,經常需要對數(shù)據(jù)類型進行轉換,為此Python提供了一些內置函數(shù)實現(xiàn)數(shù)據(jù)類型轉換,見下表。83常用數(shù)據(jù)類型轉換函數(shù)84常用數(shù)據(jù)類型轉換函數(shù)第三章程序控制結構8586第一節(jié)順序結構第二節(jié)選擇結構第三節(jié)循環(huán)結構順序結構第一節(jié)871.?理解順序結構的含義。2.?掌握順序結構的邏輯關系。88順序結構是所有程序的基礎,在順序結構中,程序按照語句的先后順序逐條執(zhí)行,直到程序的最后一條語句為止?;菊Z法格式:語句1語句2語句3……語句n功能:順序結構是自上而下按語句先后順序執(zhí)行的,從語句1、語句2、語句3依次執(zhí)行到語句n,并結束程序。89選擇結構第二節(jié)901.?理解選擇結構的含義。2.?掌握選擇結構的邏輯關系。3.?掌握if語句的語法。91一、單分支選擇結構基本語法格式:if?條件表達式:語句塊功能:當條件表達式的值為True或等價于True時,執(zhí)行語句塊;當條件表達式的值為False時,則不執(zhí)行語句塊。單分支選擇結構流程圖如圖所示。92單分支選擇結構流程圖說明:1.?條件表達式一般為關系表達式或邏輯表達式,無須加括號,其后為半角的冒號“:”,不可省略。語句塊為若干語句,且具有相同的縮進。2.?在選擇結構中,只要條件表達式的值不是False、0、空值None、空列表、空元組、空集合、空字典、空字符串或其他空迭代對象,Python解釋器均認為與True等價。93二、雙分支選擇結構基本語法格式:if?條件表達式:語句塊1else:語句塊2功能:當條件表達式的值為True時執(zhí)行語句塊1,為False時執(zhí)行語句塊2。雙分支選擇結構流程圖如圖所示。94雙分支選擇結構流程圖說明:1.?if和else必須對齊,語句塊1與語句塊2為相同的縮進。2.?else后面必須加半角的冒號“:”。95三、多分支選擇結構基本語法格式:if條件表達式1:語句塊1elif?條件表達式2:語句塊2……elif?條件表達式n:語句塊nelse:語句塊n+196功能:首先判斷條件表達式1的值是否為True,如果為True,則執(zhí)行語句塊1,然后結束整個if語句;否則判斷條件表達式2的值是否為True,如果為True,則執(zhí)行語句塊2,然后結束整個if語句;以此類推,如果條件表達式n也不為True,則執(zhí)行語句塊n+1。多分支選擇結構流程圖如圖所示。9798多分支選擇結構流程圖說明:1.?if、elif和else必須對齊,語句塊1、語句塊2、……、語句塊n、語句塊n+1要有相同的縮進。2.?每個elif?條件表達式后面都要有半角的冒號“:”。99循環(huán)結構第三節(jié)1001.?理解循環(huán)結構的含義。2.?掌握循環(huán)結構的邏輯關系。3.?掌握for、while語句的語法。4.?掌握循環(huán)嵌套的語法。5.?掌握range?(?)函數(shù)的使用方法。6.?理解break、continue、pass等循環(huán)控制語句的使用方法。101一、for循環(huán)在Python中,for循環(huán)通常用于遍歷字符串、列表、元組、字典、集合等可迭代對象序列類型中的各個元素。迭代是訪問集合元素的一種方式,在Python中迭代器可以遍歷諸如列表、字典及字符串等序列對象,迭代過程從第一個元素開始訪問至最后一個元素訪問結束,可迭代對象只能被迭代一次,在迭代過程中不能反向迭代。102基本語法格式:for迭代變量in可迭代對象:

循環(huán)體功能:對可迭代對象中的每個元素執(zhí)行一遍循環(huán)體。每次循環(huán)時自動把可迭代對象中的當前元素分配給迭代變量并執(zhí)行循環(huán)體,直到整個可迭代對象中的元素迭代完為止。for循環(huán)流程圖如圖所示。103for循環(huán)流程圖說明:1.for語句后面需要加一個半角的冒號“:”,表示緊跟著的是執(zhí)行循環(huán)體。2.每次循環(huán)時把可迭代對象中的當前元素分配給迭代變量。3.當序列中的所有元素遍歷完畢會退出循環(huán)。104Python中提供了一個內置函數(shù)range(),用于生成一個等差整數(shù)列表,該函數(shù)經常用在for循環(huán)中。range?(?)函數(shù)格式:range([start,]stop[,step])功能:返回一個以起始值start開始、終止值不超過stop、步長為step的等差數(shù)列。說明:1.start:列表起始值,默認為0。2.stop:列表終止值,且不包含stop。3.step:步長,默認為1。步長可正可負。105二、while循環(huán)基本語法格式:while條件表達式:

循環(huán)體功能:當條件表達式的值為True時,重復執(zhí)行循環(huán)體,直到條件表達式的值為False時,退出循環(huán)體。while循環(huán)流程圖如圖所示。106while循環(huán)流程圖說明:1.while語句后面需要加一個半角的冒號“:”。2.若循環(huán)n次,則需要進行n+1次條件判斷:在第1次循環(huán)中判斷1次;在第2次循環(huán)中判斷1次;以此類推,在第n次循環(huán)中判斷1次;在第n+1次循環(huán)中判斷1次(條件不滿足則退出while循環(huán))。107三、循環(huán)嵌套一個循環(huán)體內包含另一個完整的循環(huán)結構,稱為循環(huán)嵌套,也稱多重循環(huán)。for語句嵌套語法格式:

for迭代變量1in可迭代對象1:

for迭代變量2in可迭代對象2:語句塊2語句塊1while語句嵌套語法格式:

while條件表達式1:108

while條件表達式2:語句塊2語句塊1不同的循環(huán)結構可以互相嵌套。109四、循環(huán)控制語句1101.?break語句break語句用于提前結束整個循環(huán)。2.?continue語句continue語句用于提前結束本次循環(huán)。當執(zhí)行到continue語句時,系統(tǒng)會自動跳過當前循環(huán)體中剩下的語句,提前進入下一次循環(huán)。3.?pass語句pass語句是一個空語句,它的出現(xiàn)是為了保持程序結構的完整性。pass語句不做任何事情,通常用作占位語句。第四章Python容器111112第一節(jié)列表第二節(jié)元組第三節(jié)集合第四節(jié)字典列表第一節(jié)1131.?理解列表的含義。2.?能創(chuàng)建與刪除列表。3.?能進行列表元素的操作。114一、列表的含義列表是Python內置的可變序列,也是一種可以存儲各種數(shù)據(jù)類型的集合,用方括號“[]”表示列表的開始和結束,元素之間用逗號“,”分隔。列表就像是一個容器,其中每個元素都有一個索引,而且可以是各種數(shù)據(jù)類型,甚至可以嵌套另一個列表。列表可以為空,即方括號中沒有任何元素。115可變序列和不可變序列的元素訪問規(guī)則見下表。116可變序列和不可變序列的元素訪問規(guī)則二、列表的創(chuàng)建與刪除1.?列表的創(chuàng)建(1)用“[]”創(chuàng)建列表用“[]”創(chuàng)建列表也稱為直接賦值方式。117(2)用list()函數(shù)創(chuàng)建列表利用list()函數(shù)可將一個數(shù)據(jù)結構對象轉換為列表。格式:list(x)功能:將x轉換為列表,x可以是元組、字符串或其他類型的可迭代對象(x不能是數(shù)值型、布爾型數(shù)據(jù))。2.?列表的刪除當一個列表不再使用時,可以利用del命令將其刪除,以釋放存儲空間。118三、列表元素的操作列表提供了一些操作方法,以實現(xiàn)列表元素的增加、修改、刪除、合并、統(tǒng)計、反序、排序等操作,見下表。119列表的基本操作方法120列表的基本操作方法1.?引用列表元素列表的索引從0開始,如list1=[1,2,3,4,5,6,7,8,["a","b","c"]],其列表元素與索引的對應關系見下表。(1)索引通過索引可以引用列表中的一個元素。格式:列表對象[索引]功能:獲取列表中指定索引位置的元素。121列表元素與索引的對應關系(2)切片利用切片可以引用列表中的多個元素,切片后的結果為列表類型。格式:列表對象[開始索引:結束索引:步長]功能:引用列表中起止索引(不包含結束索引)、以步長為間隔的所有元素。若省略步長,默認步長為1;若省略開始索引,默認步長為0;若省略結束索引,默認為結束。1222.?查找列表元素(1)index()方法格式:列表對象.index(x)功能:返回列表中指定元素x首次出現(xiàn)的索引,若不存在,則報錯。(2)in成員運算判斷若只需知道指定元素是否在列表里,可使用in成員運算符來判斷。1233.?添加列表元素(1)append()方法格式:列表對象.append(x)功能:在列表尾部添加元素x,x可以是任意合法的數(shù)據(jù)。(2)insert()方法格式:列表對象.insert(索引,x)功能:在列表指定索引處添加元素x,如果索引超出范圍,則在列表尾部增加元素x。1244.?修改列表元素(1)索引可以通過索引修改列表中的一個元素,直接對列表元素進行賦值操作。(2)切片可以通過切片一次修改列表中的多個元素。1255.?刪除列表元素(1)pop()方法格式:列表對象.pop(索引)功能:刪除并返回列表指定索引的元素。若沒有指定索引,則默認為最后一個元素;若指定的索引超出列表范圍,則報錯。(2)remove()方法格式:列表對象.remove(x)功能:刪除列表中首次出現(xiàn)的元素x,如果列表中不存在該元素,則報錯。(3)clear()方法格式:列表對象.clear()功能:刪除列表中的所有元素,即清空列表。1266.?合并列表元素使用extend()方法合并列表元素。格式:列表對象.extend(x)功能:將x的所有元素添加到列表對象的尾部。x可以是列表、元組、字典、集合、字符串等可迭代對象。1277.?進行列表元素其他操作(1)sort()方法格式:列表對象.sort([reverse=True])功能:對列表元素進行排序,默認為升序排列,若要降序排列可加上參數(shù)reverse=True。(2)reverse()方法格式:列表對象.reverse()功能:將列表元素反序。128(3)count()方法格式:列表對象.count(x)功能:統(tǒng)計指定元素x在列表中出現(xiàn)的次數(shù)。(4)copy()方法格式:列表對象.copy()功能:在內存中復制列表對象,生成新的列表對象。129元組第二節(jié)1301.?理解元組的含義。2.?掌握元組的創(chuàng)建與刪除方法。3.?能使用index?(?)、count?(?)等元組常用的方法。4.?能使用len?(?)、min?(?)、max?(?)、sum?(?)等元組常用的內置函數(shù)。131一、元組的含義元組是類似于列表的一種數(shù)據(jù)結構。用括號“()”表示元組的開始和結束,元素之間用逗號分隔,且元素可以為任意類型。元組是不可變的有序序列,可通過索引訪問元素。132二、元組的創(chuàng)建與刪除1.?創(chuàng)建元組元組的創(chuàng)建類似于列表,常用的創(chuàng)建方法有兩種,一是使用括號“()”創(chuàng)建,二是使用tuple()函數(shù)創(chuàng)建,元素間使用逗號“,”分隔。(1)使用“(

)”創(chuàng)建元組(2)使用tuple()函數(shù)創(chuàng)建元組利用tuple()函數(shù)可將一個數(shù)據(jù)結構對象轉換為元組。格式:tuple(x)功能:將x轉換為元組,x可以是列表、字符串或其他類型的可迭代對象。1332.?刪除元組當一個元組不再使用時,可以利用del命令將其刪除,以釋放存儲空間。134三、元組元素的操作元組支持對元素進行引用、查找、合并、統(tǒng)計、轉換等操作,也可以借助Python內置函數(shù)實現(xiàn)相關操作,見下表。135元組常用的方法和內置函數(shù)1.?引用元組元素元組的索引從0開始,如t1=[5,8,3,1,9,2,0,4,6],其元組元素與索引的對應關系見下表。元組可以通過索引引用一個元素,也可以通過切片引用多個元素。格式:元組對象[索引]功能:獲取元組中指定索引位置的元素。136元組元素與索引的對應關系2.?查找元組元素使用index()方法查找指定元素首次出現(xiàn)的位置。格式:元組對象.index(x)功能:返回元組中指定元素x首次出現(xiàn)的索引,若不存在,則報錯。3.?統(tǒng)計指定元素在元組中出現(xiàn)的次數(shù)使用count()方法統(tǒng)計指定元素在元組中出現(xiàn)的次數(shù)。格式:元組對象.count(x)功能:統(tǒng)計指定元素x在元組中出現(xiàn)的次數(shù)。4.?合并元組利用加號“+”可連接兩個元組,生成一個新的元組。1375.?統(tǒng)計元素個數(shù)利用len()函數(shù)統(tǒng)計元組中的元素個數(shù)。格式:len(x)功能:統(tǒng)計指定元組x中的元素個數(shù)。6.?統(tǒng)計最大值利用max()函數(shù)統(tǒng)計元組中依據(jù)元素默認比較規(guī)則確定的數(shù)值最大或者按照特定排序邏輯排在最后的那個元素。格式:max(x)功能:返回指定元組x中依據(jù)元素默認比較規(guī)則確定的數(shù)值最大或者按照特定排序邏輯排在最后的那個元素。1387.?統(tǒng)計最小值利用min()函數(shù)統(tǒng)計元組中依據(jù)元素默認比較規(guī)則確定的數(shù)值最小或者按照特定排序邏輯排在最前的那個元素。格式:min(x)功能:返回指定元組x中依據(jù)元素默認比較規(guī)則確定的數(shù)值最小或者按照特定排序邏輯排在最前的那個元素。8.?求元素和利用sum()函數(shù)計算元組中所有元素的和。格式:sum(x)功能:返回指定元組x中所有元素的和。139

集合第三節(jié)1401.?了解集合的含義。2.?能創(chuàng)建或刪除集合。3.?能添加、刪除集合元素。4.?了解集合運算方法。141一、集合的含義集合是一組無序且元素不重復的序列,使用一對花括號“{}”括起來,元素之間使用逗號分隔,元素類型只能是數(shù)值、字符串、元組等不可變類型,列表、字典等可變類型不能作為集合元素。在Python中,集合分為可變集合和不可變集合,在沒有特別聲明時,集合都是指可變集合。142二、集合的創(chuàng)建與刪除1.?集合的創(chuàng)建集合的常用創(chuàng)建方法有兩種,一是使用花括號“{}”創(chuàng)建,二是使用set()函數(shù)或frozenset()函數(shù)創(chuàng)建,元素間使用逗號“,”分隔。(1)使用“{}”創(chuàng)建集合(2)使用set()或frozenset()函數(shù)創(chuàng)建集合set()函數(shù)用于創(chuàng)建可變集合,frozenset()函數(shù)用于創(chuàng)建不可變集合。在此重點介紹set()函數(shù)的使用方法。格式:set(x)功能:將x轉換為集合,其中x為列表、元組、字符串等數(shù)據(jù)類型,如果序列中存在重復數(shù)據(jù),則只保留一個;如果沒有參數(shù),則表示創(chuàng)建空集合。1432.?集合的刪除當一個集合不再使用時,可以利用del命令將其刪除,以釋放存儲空間。如輸入dels1,即刪除了s1集合。若再引用s1,解釋器就會報錯。144三、集合運算Python中支持集合的并(|)、交(&)、差(-)、對稱差(^)及子集判斷(<=子集或<嚴格子集)等運算。【例】在Python交互模式下輸入如下內容并執(zhí)行。145146字典第四節(jié)1471.?理解字典的含義。2.?能創(chuàng)建和刪除字典。3.?能進行字典元素的操作。4.?了解字典的遍歷方式和推導式。148一、字典的含義字典是一種可變的無序序列,它以鍵值對的形式組織數(shù)據(jù),字典中的元素存放在一對花括號“{}”中,元素之間用逗號分隔。鍵值對由鍵(key)和值(value)組成,中間用半角的冒號(:)分隔,即key:value。采用鍵值對可以更加獨立而緊密地表示兩者之間的關系,其鍵和值是一種映射關系。字典中的元素是無序的,不能像列表、元組那樣通過索引訪問元素,而是通過“鍵”訪問對應的值。因此,字典中各元素的“鍵”是唯一的,不允許重復,而“值”是可以重復的。149二、字典的創(chuàng)建與刪除1.?字典的創(chuàng)建字典的常用創(chuàng)建方法有三種,一是使用花括號“{}”創(chuàng)建,二是使用dict()函數(shù)創(chuàng)建,三是使用字典類的fromkeys()方法創(chuàng)建,元素間使用逗號“,”分隔。在此重點介紹使用

“{}”創(chuàng)建字典的方法。將鍵值對以逗號分隔后放在“{}”內賦給某一變量即可創(chuàng)建一個字典。若花括號中沒有給出鍵值對,則表示創(chuàng)建了一個空字典。2.?字典的刪除當一個字典不再使用時,可以利用del命令將其刪除,以釋放存儲空間。150三、字典元素的基本操作1.?字典元素的引用(1)鍵格式:字典對象[鍵]功能:獲取指定鍵對應的值。若指定鍵不存在,則報錯。151(2)get()方法通過鍵訪問值時,若指定的鍵不存在,則會報錯。為了避免因報錯而導致程序中止,字典對象還提供了get()方法來獲取指定鍵對應的值,并允許出現(xiàn)鍵不存在的情況。格式:字典對象.get(鍵[,d])功能:若鍵存在,則返回鍵對應的值;若鍵不存在且指定了d,則返回d,否則無返回值。1522.?字典元素的添加或修改添加或修改一個字典元素可以直接以指定鍵為索引為字典元素賦值。若指定的鍵不存在,則為添加操作,否則為修改操作。格式:字典對象[鍵]=值功能:向字典中添加或修改元素。1533.?字典元素的刪除(1)del命令可以使用del命令刪除字典中指定的元素。格式:del字典對象(x)功能:刪除指定鍵x對應的元素。(2)clear()方法可以使用clear()方法刪除字典中的所有元素,成為一個空字典。格式:字典對象.clear()功能:清空字典。154155字典的常用操作方法4.?字典的常用操作方法Python中字典的常用操作方法見下表。(1)keys()方法格式:字典對象.keys()功能:獲取字典中所有的鍵。(2)values()方法格式:字典對象.values()功能:獲取字典中所有的值。(3)items()方法格式:字典對象.items()功能:獲取字典中所有的鍵值對,每個元素以元組呈現(xiàn)。156(4)update()方法格式:字典對象1.update(字典對象2)功能:用字典對象2更新字典對象1,若字典對象2中的鍵在字典1中存在,則更新對應的值;若不存在,則添加相應的鍵值對。(5)pop()方法格式:字典對象.pop(key[,d])功能:若key鍵在字典中存在,則刪除key鍵對應的元素,并返回該鍵對應的值;若key鍵不存在,則返回指定的值d;若key鍵不存在,且未指定值,則報錯。157(6)popitem()方法格式:字典對象.popitem()功能:隨機刪除字典中的元素,并返回對應鍵值對的元組。(7)setdefault()方法格式:字典對象.setdefault(key[,value])功能:若鍵key在字典中,則返回該鍵對應的值;若鍵key不在字典中,則將(key,value)添加到字典中,value默認為None。158四、字典遍歷操作1.?遍歷所有鍵值對利用items()方法遍歷所有鍵值對?!纠?/p>

】在Python交互模式下輸入如下內容并執(zhí)行。1592.?遍歷所有鍵(1)利用字典變量循環(huán)遍歷【例

】在Python交互模式下輸入如下內容并執(zhí)行。160(2)利用keys()方法獲取字典鍵【例

】在Python交互模式下輸入如下內容并執(zhí)行。1613.?遍歷所有值(1)通過鍵遍歷值【例】在Python交互模式下輸入如下內容并執(zhí)行。162(2)通過values()方法遍歷值【例

】在Python交互模式下輸入如下內容并執(zhí)行。163五、字典推導式字典支持采用一種簡潔的方式來生成數(shù)據(jù),即字典推導式。列表、元組、集合等數(shù)據(jù)結構也可以采用推導式生成相應數(shù)據(jù)?!纠吭赑ython交互模式下輸入如下內容并執(zhí)行。164本例中使用的zip()函數(shù)將可迭代的對象作為參數(shù),將對象中對應的元素打包成元組,并返回這些元組組成的列表,zip中可迭代的參數(shù)可以是列表、元組等,以上程序代碼也可以表示成如下程序段。165第五章函數(shù)與模塊166167第一節(jié)函數(shù)定義與調用第二節(jié)函數(shù)參數(shù)第三節(jié)函數(shù)變量作用域第四節(jié)數(shù)學函數(shù)第五節(jié)字符串函數(shù)第六節(jié)列表函數(shù)第七節(jié)模塊與包函數(shù)定義與調用

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

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

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

】在PyCharm集成開發(fā)環(huán)境下一次輸入多個成績,并統(tǒng)計出最高分、最低分和平均分。程序運行結果如圖所示。200程序運行結果列表函數(shù)第六節(jié)2011.?了解列表函數(shù)的含義。2.?了解append?(?)、extend?(?)、insert?(?)、pop?(?)、remove?(?)、count?(?)、sort?(?)?等常用的列表函數(shù)。202列表函數(shù)是與列表相關的一些函數(shù),能實現(xiàn)列表元素的添加、刪除、插入等相關操作,其功能類似列表中的方法。Python中常用的列表函數(shù)下見表。203Python中常用的列表函數(shù)204Python中常用的列表函數(shù)【例】在PyCharm集成開發(fā)環(huán)境下計算運動員的成績。評分規(guī)則如下:共有7名評委為運動員評分,最高可評10分,在刪除一個最高分和一個最低分后,將其他評委的評分求平均分,作為該運動員的成績(保留兩位小數(shù))。205程序運行結果如圖所示。206程序運行結果模塊與包第七節(jié)2071.?了解模塊的概念。2.?掌握模塊的導入方法。3.?了解包的概念。4.?了解Python標準庫。5.?能安裝并使用第三方庫。208軟件開發(fā)是一項系統(tǒng)工程,一般通過多人協(xié)作來完成。在開發(fā)中,可以將自己設計的函數(shù)分享給他人,也可以引入他人設計好的函數(shù),以提高編程效率。在Python中,模塊是一個包含Python定義和聲明的文件,模塊的擴展名通常與程序文件的擴展名相同,即“.py”,例如模塊“datetime.py”。模塊可以包含函數(shù)、類、變量等,并且可以定義可執(zhí)行的代碼。模塊在Python中扮演著重要的角色,能使得代碼更加清晰,便于管理和維護。模塊一般存放在安裝文件夾Lib中,分為標準庫模塊和自定義模塊兩大類。209一、模塊的導入方法1.?import?模塊名【例】在Python交互模式下輸入如下內容并執(zhí)行。2.?from?模塊名?import?函數(shù)名【例】在Python交互模式下輸入如下內容并執(zhí)行。2103.?from?模塊名?import?*【例】在Python交互模式下輸入如下內容并執(zhí)行。211二、Python標準庫Python提供了龐大的標準庫,標準庫內置了大量的模塊,而模塊中內置了大量的函數(shù)和類。常用標準庫模塊見下表。212常用標準庫模塊1.?datetime日期和時間模塊datetime包括日期和時間的相關功能,下表所示為其部分常用方法。213datetime的部分常用方法2.?math數(shù)學模塊math提供了很多數(shù)學函數(shù),下表所示為math的部分常用函數(shù)。214math的部分常用函數(shù)3.?random在實際應用中,常常需要使用隨機數(shù),如生成一系列隨機數(shù)計算其平均值。下表所示為隨機數(shù)模塊random的部分常用函數(shù)。215隨機數(shù)模塊random的部分常用函數(shù)三、第三方庫的安裝requests是Python中的HTTP客戶端庫,它可以方便、快捷地發(fā)送HTTP請求并處理HTTP響應。requests不是Python中一個預裝好的庫,需要手動安裝,可以使用自帶的pip命令來安裝。1.保證計算機已連接互聯(lián)網。2.打開“命令提示符”對話框,如圖所示。216“命令提示符”對話框3.由于pip命令不是操作系統(tǒng)的內置命令,所以需要切換到Python安裝程序所在的pip命令目錄,如圖所示,本示例中pip命令所在目錄為D:\Programs\Python\Python311\Scripts。其切換的步驟如圖中所示。217切換到pip命令目錄4.使用pip命令安裝:pipinstallrequests,自動下載并安裝requests,如圖所示。218自動下載并安裝requests安裝完成后,就可以順利導入第三方庫requests,如圖所示。從上圖中可以發(fā)現(xiàn),在Python交互模式下,在使用pip命令安裝第三方庫requests前使用importrequests語句無法導入該庫,而使用pip命令安裝第三方庫requests后可以順利導入該庫。219導入第三方庫requests四、自定義模塊自定義模塊是由用戶創(chuàng)建的代碼文件,可以設計個性化模塊來豐富Python的功能?!纠吭赑yCharm集成開發(fā)環(huán)境下創(chuàng)建兩個文件,將兩個文件的文件名分別命名為test5.py和test5-7-7.py,分別輸入如下代碼,并查看運行結果。220程序運行結果如圖所示。221程序運行結果五、包當所定義的模塊文件越來越多時,應考慮建立子文件夾,將模塊文件分類存放。如現(xiàn)有test1.py、test2.py、test3.py、test4.py、test5.py共5個模塊文件,將這些模塊文件統(tǒng)一存放到包目錄中,如圖所示。222一個完整的自定義包目錄package11.?建立包目錄在項目文件夾上單擊鼠標右鍵,在彈出的快捷菜單中選擇“New(新建)”→“PythonPackage(Python包)”命令,如圖所示,在彈出的窗口中輸入包目錄名,如圖所示。在創(chuàng)建的包目錄下自動生成一個名為“_init_.py”的空文件。該文件用來說明存有該文件的目錄是一個包目錄,使用解釋器搜索路徑時,可以明顯與其他目錄區(qū)分開來。223224輸入包目錄名選擇包目錄創(chuàng)建命令2.?創(chuàng)建模塊文件在包中創(chuàng)建模塊文件test1.py、test2.py、test3.py、test4.py,并把上【例】中創(chuàng)建的文件test5.py移至package1包中。3.?導入包模塊利用import語句修改文件test5-7-7.py代碼。225第六章正則表達式226227第一節(jié)正則表達式語法與方法第二節(jié)正則表達式對象正則表達式語法與方法第一節(jié)2281.?掌握正則表達式的概念及作用。2.?了解正則表達式的語法。3.?了解正則表達式re模塊的常用方法。229一、正則表達式的概念及作用1.?正則表達式的概念正則表達式又稱規(guī)則表達式,是一種文本模式,由一串普通字符和特殊字符組成。正則表達式通常被用來檢索、替換符合某文本模式的內容。2.?正則表達式的作用正則表達式可以用來檢查一個字符串是否含有某個子串、將匹配的子串替換或從某個字符串中取出某個條件的子串等。230二、正則表達式的語法構造正則表達式的方法是使用多種特殊符號和字符(稱為元字符)與運算符,將小的表達式結合在一起創(chuàng)建更大的表達式。正則表達式的組件可以是單個的字符、字符集合、字符范圍、字符間的選擇或所有這些組件的任意

組合。正則表達式是由普通字符及元字符組成的字符模式。模式描述在搜索文本時要匹配的一個或多個字符串。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。2311.?普通字符普通字符包括沒有顯式指定為元字符的所有可打印和非打印字符,包括大寫和小寫字母、數(shù)字、標點符號和一些特殊符號。下表所示為非打印字符的轉義序列。232非打印字符的轉義序列2.?元字符元字符是具有特殊含義的字符,用于定義模式匹配的規(guī)則,一般由特殊符號和字符組成,正則表達式常用的元字符見下表。233正則表達式常用的元字符234正則表達式常用的元字符【例】在PyCharm集成開發(fā)環(huán)境下編寫程序,實現(xiàn)在已知字符串中查找所有子串的位置。235程序運行結果如圖所示。finditer()方法用于在字符串中找到正則表達式所匹配的所有子串,即返回的是一個迭代器,每個迭代元素是一個Match對象。Match對象是一次匹配的結果,包含了許多匹配的相關信息。236Python的應用三、正則表達式re模塊常用的方法1.?search?(?)方法格式:re.search(pattern,string,flags=0)功能:掃描整個字符串,搜索匹配的第一個位置并返回一個Match對象。若匹配失敗,則返回None。說明:pattern是要匹配的正則表達式;string是要匹配的字符串;flags用于控制正則表達式的匹配方式,為可選項,其常用取值見下表。237238參數(shù)flags的常用取值2.?match?(?)方法格式:re.match(pattern,string,flags=0)功能:從字符串的起始位置匹配正則表達式,并返回匹配對象。如果在起始位置沒有匹配成功,則返回None。說明:pattern是要匹配的正則表達式;string是要匹配的字符串;flags用于控制正則表達式的匹配方式,為可選項。2393.?findall?(?)方法格式:re.findall(pattern,string,flags=0)功能:在字符串中找到正則表達式所匹配的所有子串,并返回一個列表。如果沒有找到匹配的子串,則返回空列表。說明:pattern是要匹配的正則表達式;string是要匹配的字符串;flags用于控制正則表達式的匹配方式,為可選項。2404.?finditer?(?)方法格式:re.finditer(pattern,string,flags=0)功能:與findall()方法類似,在字符串中找到正則表達式所匹配的所有子串,并將其作為一個迭代器返回。每個迭代器元素是一個Match對象,因此,可以通過循環(huán)的方式來匹配相關操作。說明:pattern是要匹配的正則表達式;string是要匹配的字符串;flags用于控制正則表達式的匹配方式,為可選項。2415.?split?(?)方法格式:re.split(pattern,string,maxsplit=0,flags=0)功能:將一個字符串按照正則表達式的要求分割,分割后返回列表。說明:pattern是要匹配的正則表達式;string

溫馨提示

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

評論

0/150

提交評論