版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python是一門跨平臺、開源、免費的解釋型高級動態(tài)編程語言。作為一種動態(tài)語言,Python尤其適合初學編程者,因為它能夠讓初學者將注意力集中在編程的對象和思維方法上,而不必過于擔心語法和類型等外部因素。Python易于學習,并擁有豐富的庫,使得開發(fā)各種應用程序變得高效。本章將介紹Python語言的優(yōu)缺點、安裝方法以及Python開發(fā)環(huán)境IDLE的使用。第1章Python編程基礎全套可編輯PPT課件
本課件是可編輯的正常PPT課件1.1Python語言簡介Python的創(chuàng)始人吉多?范羅蘇姆(GuidovanRossum),于1989年底發(fā)明了Python語言,其被廣泛應用于系統(tǒng)管理任務和科學計算,是最受歡迎的編程語言之一。2011年1月,TIOBE編程語言排行榜將其評選為2010年度編程語言。自2004年以來,Python的使用率持續(xù)增長,在2017年TIOBE編程語言指數(shù)排行榜中位列第四名(前3名為Java、C和C++)。早在2017年7月,根據(jù)IEEESpectrum發(fā)布的編程語言排行榜顯示Python已成為全球最受歡迎的編程語言。2024年,Python無論在數(shù)據(jù)分析、機器學習,還是Web開發(fā)領域,都展現(xiàn)出了強大的適應性,受到廣大程序員的青睞,再次突破歷史記錄,穩(wěn)居編程一眼排行榜的前列。Python支持命令式編程、函數(shù)式編程,完全支持面向對象編程,語法簡潔清晰,且擁有大量成熟的擴展庫,幾乎覆蓋所有領域的應用開發(fā)。許多開源的科學計算軟件包都提供了Python的調用接口,例如著名的計算機視覺庫OpenCV、三維可視化庫VTK和醫(yī)學圖像處理庫ITK。此外,Python專用的科學計算擴展庫也非常豐富,經(jīng)典的有NumPy、SciPy和Matplotlib,它們分別為Python提供了快速數(shù)組處理、數(shù)值運算和繪圖功能。因此,Python及其眾多擴展庫為工程技術和科研人員處理實驗數(shù)據(jù)、制作圖表,甚至開發(fā)科學計算應用程序提供了理想的開發(fā)環(huán)境。本課件是可編輯的正常PPT課件1.2.1安裝與配置Python環(huán)境因為Python是跨平臺的,它可以在Windows、Mac以及各種Linux/Unix系統(tǒng)上運行。用戶在Windows上編寫的Python程序,能夠直接在Linux上運行。學習Python編程的第一步是將Python安裝到計算機上。安裝完成后,將獲得Python解釋器(負責執(zhí)行Python程序)、一個命令行交互環(huán)境,以及一個簡單的集成開發(fā)環(huán)境(IDE)。Python至今已有多個版本。但截至目前,主流版本仍為Python2.x和Python3.x,這兩個版本并不兼容。Python2.x版本已于2020年1月1日停止更新,而Python2.7更是被確定為最后一個Python2.X版本。因此,如果用戶正在使用Python2.X,建議考慮升級到Python3.x。1.2.1安裝Python1.2.2運行Python本課件是可編輯的正常PPT課件1.2.2安裝Python在Mac上安裝Python若用戶使用的是Mac系統(tǒng),版本在OSX10.8到10.10之間,那么系統(tǒng)自帶的Python版本是2.x。要安裝最新的Python3.x,可以使用以下兩種方法。 方法一:從Python官方網(wǎng)站()下載Python3.x的安裝程序,雙擊運行并進行安裝。 方法二:如果已經(jīng)安裝了Homebrew,可以通過命令行直接執(zhí)行brewinstallpython3來完成安裝。運行Python若用戶使用的是Linux,并具備一定的系統(tǒng)管理經(jīng)驗,可以參考以下步驟安裝Python3.x。(1)下載Python安裝包,例如Python-3.5.0b4.tgz。(2)使用解壓命令解壓下載的文件:tar-zxvfPython-3.5.0b4.tgz(3)切換到解壓后的安裝目錄cdPython-3.5.0(4)執(zhí)行配置命令:./configure(5)編譯安裝:makemakeinstall至此,Python的安裝已完成。本課件是可編輯的正常PPT課件1.3Python開發(fā)環(huán)境IDLEIDLE是Python自帶的集成開發(fā)環(huán)境,提供了一個簡單的界面用于編寫、調試和運行Python代碼。1.3.1啟動IDLE1.3.2使用IDLE創(chuàng)建Python程序1.3.3IDLE的常用編輯功能1.3.4在IDLE中運行和調試Python程序本課件是可編輯的正常PPT課件1.3.1啟動IDLE在Windows系統(tǒng)中成功安裝Python后,可以通過單擊系統(tǒng)桌面上的“開始”按鈕,在彈出的菜單中選擇“IDLE(Python3.x64-bit)”命令來啟動IDLE,打開圖1-3所示的初始窗口。在圖1-3所示的IDLE窗口中,首先顯示的是PythonShell,用戶可以在其中使用交互式編程模式執(zhí)行Python命令。使用交互式編程模式時,只需在IDLE提示符“>>>”后輸入相應的命令并按回車鍵即可執(zhí)行。如果命令執(zhí)行成功,將立即看到結果;如果出現(xiàn)問題,則會拋出異常。例如,查看已安裝的Python版本(在IDLE界面的標題欄中也可以直接看到):>>>importsys>>>sys.version本課件是可編輯的正常PPT課件1.3.2使用IDLE創(chuàng)建Python程序IDLE為開發(fā)人員提供了許多實用的特性,如自動縮進、語法高亮顯示、單詞自動完成和命令歷史等。這些功能可以有效提高開發(fā)效率。下面通過一個實例來逐一介紹這些特性。示例程序的源代碼如下:#示例一p=input("Pleaseinputyourpassword:\n")ifp!="123":print("passworderror!")從圖1-4可以看到,不同部分的代碼采用了不同的顏色,這就是語法高亮顯示。語法高亮顯示通過為代碼中的不同元素使用不同的顏色,使代碼更易于閱讀。默認情況下,關鍵字顯示為橙紅色,注釋為紅色,字符串為綠色,解釋器的輸出為藍色。在輸入代碼時,這些顏色會自動應用,語法高亮顯示的好處在于可以更容易地區(qū)分不同的語法元素,從而提高代碼的可讀性。此外,語法高亮顯示還可以減少出錯的可能性。本課件是可編輯的正常PPT課件1.3.3IDLE的常用編輯功能下面將介紹編寫Python程序時常用的IDLE命令,供初學者參考(按菜單分類)。Edit菜單中常用的命令及其功能說明如表1-1所示。Format菜單中常用的命令及其功能說明如表1-2所示。本課件是可編輯的正常PPT課件1.3.4在IDLE中運行和調試Python程序1.運行Python程序要在IDLE中執(zhí)行Python程序,可以在Run菜單中選擇RunModule命令(或直接按下F5鍵)。此命令的功能是執(zhí)行當前打開的文件。例如,在執(zhí)行示例程序時,用戶輸入的密碼為888,但由于輸入錯誤,輸出結果為“passworderror!”,如圖1-5所示。2.使用IDLE調試器在軟件開發(fā)過程中,難免會遇到各種錯誤,包括語法錯誤和邏輯錯誤。對于語法錯誤,Python解釋器能夠輕松檢測,并會停止程序運行并給出相應的錯誤提示。然而,對于邏輯錯誤,解釋器則無能為力,程序可能會繼續(xù)執(zhí)行,但運行結果卻是錯誤的。因此,調試程序通常是必要的,以確保代碼的正確性和可靠性。在PythonShell窗口中,選擇Debug菜單中的Debugger命令,即可啟動IDLE的交互式調試器。這時,IDLE會打開如圖1-6所示的DebugControl窗口,并在PythonShell窗口中輸出[DEBUGON],后跟一個“>>>”提示符。本課件是可編輯的正常PPT課件1.4Python基本輸入/輸出Python的基本輸入通過input()函數(shù)獲取用戶輸入,而輸出則使用print()函數(shù)將信息顯示在控制臺。1.4.1Python基本輸入1.4.2Python基本輸出本課件是可編輯的正常PPT課件1.4.1Python基本輸入在Python中進行程序設計時,輸入是通過input()函數(shù)實現(xiàn)的。input()的一般格式為:x=input("輸入一個值:")該函數(shù)返回用戶輸入的對象,可以輸入數(shù)字、字符串和其他任意類型的對象。不過,Python2.7和Python3.x的input()函數(shù)雖然形式相同,但在解釋上略有不同。在Python2.7中,返回結果的類型由輸入值時所使用的界定符決定。例如,以下是Python2.7的示例代碼:x=input("Pleaseinput:")如果輸入為:Pleaseinput:3由于沒有使用界定符,結果會被解釋為整數(shù):>>>printtype(x)<type'int'>如果輸入為:Pleaseinput:'3'由于使用了單引號,結果將被解釋為字符串:>>>printtype(x)<type'str'>本課件是可編輯的正常PPT課件1.4.2Python基本輸入在Python中進行程序設計時,輸入是通過input()函數(shù)實現(xiàn)的。input()的一般格式為:x=input("輸入一個值:")該函數(shù)返回用戶輸入的對象,可以輸入數(shù)字、字符串和其他任意類型的對象。不過,Python2.7和Python3.x的input()函數(shù)雖然形式相同,但在解釋上略有不同。在Python2.7中,返回結果的類型由輸入值時所使用的界定符決定。例如,以下是Python2.7的示例代碼:x=input("Pleaseinput:")如果輸入為:Pleaseinput:3由于沒有使用界定符,結果會被解釋為整數(shù):>>>printtype(x)<type'int'>如果輸入為:Pleaseinput:'3'由于使用了單引號,結果將被解釋為字符串:>>>printtype(x)<type'str’>在Python3.x中,input()函數(shù)始終返回字符串類型,因此不再區(qū)分輸入值的類型。本課件是可編輯的正常PPT課件1.4.2Python基本輸入以下是Python3.x的示例代碼:x=input('Pleaseinput:')如果輸入為:Pleaseinput:3則輸出結果為:>>>print(type(x))<class'str'>如果輸入為:Pleaseinput:'1'輸出結果同樣為:>>>print(type(x))<class'str'>如果輸入為:Pleaseinput:[1,2,3]輸出結果仍然是:>>>print(type(x))<class'str'>本課件是可編輯的正常PPT課件1.5Python代碼規(guī)范Python代碼規(guī)范(PEP8)強調代碼的可讀性,包括使用4個空格進行縮進、適當命名、保持行長度不超過79個字符,以及在邏輯塊之間添加空行。(1)縮進。Python程序通過代碼塊的縮進來體現(xiàn)邏輯關系,縮進的結束標志著一個代碼塊的結束。類定義、函數(shù)定義、選擇結構和循環(huán)結構等都以行尾的冒號表示縮進的開始。同一層級的代碼塊必須保持一致的縮進量。例如:foriinrange(10):#循環(huán)輸出0到9的數(shù)字
print(i,end=',')一般而言,建議使用4個空格作為基本縮進單位,避免使用制表符(tab)。在IDLE開發(fā)環(huán)境中,可以通過以下操作來進行代碼塊的縮進和反縮進:選擇Format|IndentRegion(或DedentRegion)命令。(2)注釋。一個好的、可讀性強的程序通常包含超過20%的注釋。常用的注釋方式主要有以下兩種。 方法一:使用#開始,表示本行#之后的內容為注釋。例如:#循環(huán)輸出0到9的數(shù)字foriinrange(10):print(i,end='')
方法二:用三重引號"""或'''包圍的內容,如果不屬于任何語句,則被解釋器視為注釋。例如:"""循環(huán)輸出0到9的數(shù)字,可以包含多行文字"""foriinrange(10):print(i,end='')本課件是可編輯的正常PPT課件1.5Python代碼規(guī)范在IDLE開發(fā)環(huán)境中,可以通過以下操作快速注釋或解除注釋一段代碼:選擇Format|CommentOutRegion(或UncommentRegion命令)。(3)每個import語句應只導入一個模塊,而不應一次導入多個模塊。例如:>>>importmath#導入math數(shù)學模塊>>>math.sin(0.5)#求0.5的正弦>>>importrandom#導入random隨機模塊>>>x=random.random()#獲得[0,1)內的隨機小數(shù)>>>y=random.random()>>>n=random.randint(1,100)#獲得[1,100]范圍內的隨機整數(shù)雖然可以使用importmath,random一次導入多個模塊,但不提倡這樣做。導入的順序應為:首先導入Python內置模塊,其次導入第三方模塊,最后導入自己開發(fā)的項目中的其他模塊。避免使用frommoduleimport*,除非是導入常量定義模塊或其他確保不會出現(xiàn)命名沖突的模塊。(4)如果一行語句過長,可以在行尾添加反斜杠“\”來換行,但更推薦使用括號將多行內容包含起來。例如:x='這是一個非常長非常長非常長非常長\非常長非常長非常長非常長非常長的字符串'#使用反斜杠“\”換行x=('這是一個非常長非常長非常長非常長''非常長非常長非常長非常長非常長的字符串')#圓括號中的行會連接起來本課件是可編輯的正常PPT課件1.5Python代碼規(guī)范另一個示例:if(width==0andheight==0andcolor=='red'andemphasis=='strong'):#圓括號中的行會連接起來
y='正確'else:y='錯誤'(5)必要的空格與空行。建議在運算符兩側、函數(shù)參數(shù)之間及逗號兩側使用空格分隔。此外,不同功能的代碼塊之間、不同的函數(shù)定義之間應該增加一個空行,以提高可讀性。(6)常量命名。常量名應全部字母大寫,并用下劃線連接各個單詞。類名的首字母應大寫。例如:CONSTANT_VALUE=0THIS_IS_A_CONSTANT=1本課件是可編輯的正常PPT課件1.6Python幫助信息使用Python的幫助功能對于學習和開發(fā)都是非常重要的。在Python中,可以使用help()方法來獲取幫助信息。其使用格式如下:help(對象)以下將分為三種情況進行說明。1.6.1查看內置函數(shù)和類型的幫助信息1.6.2查看模塊中的成員函數(shù)信息1.6.3查看整個模塊的信息本課件是可編輯的正常PPT課件1.6.1查看內置函數(shù)和類型的幫助信息在IDLE環(huán)境中輸入以下命令,可以查看內置max函數(shù)的幫助信息(如圖1-7所示):>>>help(max)>>>help(list)#可以獲取list列表類型的成員方法>>>help(tuple)#可以獲取tuple元組類型的成員方法本課件是可編輯的正常PPT課件1.6.2查看模塊中的成員函數(shù)信息要查看某個模塊中的成員函數(shù)信息,可以使用以下命令:>>>importos>>>help(os.fdopen)上述例子查看os模塊中的fdopen成員函數(shù)的信息,得到如圖1-8所示的提示:本課件是可編輯的正常PPT課件1.6.3查看模塊中的成員函數(shù)信息查看整個模塊的信息使用help(模塊名)可以查看整個模塊的幫助信息。這里需要注意的是,首先需要使用import導入該模塊。例如,要查看math模塊的方法:>>>importmath>>>help(math)幫助信息如圖1-9所示。要查看Python中所有的模塊,可以使用以下命令:help("modules")本課件是可編輯的正常PPT課件1.7課后實踐本章為用戶進一步學習Python奠定了扎實的基礎,下面的課后實踐部分,用戶可以通過動手實現(xiàn)幾個簡單的編程實例并完成課后的思考練習,加深對Python的了解。1.熟悉IDLE開發(fā)環(huán)境2.熟悉pip工具3.編寫程序,求解30°的正弦函數(shù)值本課件是可編輯的正常PPT課件數(shù)據(jù)類型是程序中最基本的概念,確定數(shù)據(jù)類型后,才能明確變量的存儲方式及其操作。表達式則是用于表示計算求值的式子。數(shù)據(jù)類型和表達式是程序員編寫程序的基礎。因此,本章介紹的內容構成了進行Python程序設計的基本框架。第2章Python語法基礎本課件是可編輯的正常PPT課件2.1Python數(shù)據(jù)類型計算機程序能夠處理各種數(shù)值類型,但不僅限于數(shù)值。計算機還可以處理文本、圖形、音頻、視頻、網(wǎng)頁等多種數(shù)據(jù),因此需要定義不同的數(shù)據(jù)類型。2.1.1數(shù)值類型2.1.2字符串2.1.3布爾類型2.1.4空值2.1.5Python數(shù)字類型轉換本課件是可編輯的正常PPT課件2.1.1數(shù)值類型Python中的數(shù)值類型用于存儲數(shù)值。Python支持4種不同的數(shù)值類型,如表2-1所示。本課件是可編輯的正常PPT課件2.1.2字符串字符串是Python中最常用的數(shù)據(jù)類型。可以使用引號來創(chuàng)建字符串。Python不支持單獨的字符類型,單個字符在Python中也作為字符串處理。Python使用單引號和雙引號表示字符串是等價的。1.創(chuàng)建和訪問字符串2.Python轉義字符3.Python字符串運算符4.字符串格式化本課件是可編輯的正常PPT課件2.1.3布爾類型Python支持布爾類型的數(shù)據(jù),布爾類型只有兩個值:True和False。布爾類型支持以下幾種運算: and(與運算):只有當兩個布爾值都為True時,計算結果才為True。TrueandTrue#結果是TrueTrueandFalse#結果是FalseFalseandTrue#結果是FalseFalseandFalse#結果是False or(或運算):只要有一個布爾值為True,計算結果就是True。TrueorTrue#結果是TrueTrueorFalse#結果是TrueFalseorTrue#結果是TrueFalseorFalse#結果是False not(非運算):將True變?yōu)镕alse,或者將False變?yōu)門rue。notTrue#結果是FalsenotFalse#結果是True本課件是可編輯的正常PPT課件2.1.4空值空值是Python中一個特殊的值,用None表示。它不支持任何運算,也沒有任何內置函數(shù)方法。None與任何其他數(shù)據(jù)類型進行比較時,永遠返回False。在Python中,未指定返回值的函數(shù)會自動返回None。本課件是可編輯的正常PPT課件2.1.5Python數(shù)字類型轉換Python提供了多種數(shù)字類型轉換函數(shù),如表2-5所示。本課件是可編輯的正常PPT課件2.2變量和常量IPython的變量是用于存儲數(shù)據(jù)的命名空間,其值可以在程序運行時改變,而常量則是指在程序中其值不可改變的固定數(shù)據(jù)。2.2.1變量2.2.2常量本課件是可編輯的正常PPT課件2.2.1變量變量的概念基本上與初中代數(shù)中的方程變量相似,但在計算機程序中,變量不僅可以表示數(shù)字,還可以表示任意數(shù)據(jù)類型。在程序中,變量通過一個變量名來表示,變量名必須由大小寫字母、數(shù)字和下劃線(“_”)的組合構成,并且不能以數(shù)字開頭。例如:a=1#變量a是一個整數(shù)t_007="T007"#變量t_007是一個字符串Answer=True#變量Answer是一個布爾值True在Python中,等號“=”用于賦值,可以將任意數(shù)據(jù)類型賦值給變量,同一個變量可以反復賦值,并且可以賦值不同類型的數(shù)據(jù)。例如:a=123#a是整數(shù)a='ABC'#a變?yōu)樽址@種變量類型不固定的語言稱為動態(tài)語言,與之對應的是靜態(tài)語言。靜態(tài)語言在定義變量時必須指定變量類型,如果賦值時類型不匹配,則會報錯。例如,C語言是靜態(tài)語言,賦值語句如下(//表示注釋):inta=123;//a是整數(shù)類型變量a="ABC";//錯誤,不能將字符串賦值給整型變量本課件是可編輯的正常PPT課件2.2.2常量常量是指不可更改的變量,例如常用的數(shù)學常數(shù)π就是一個常量。在Python中,常量通常使用全大寫的變量名表示,例如:PI=3.1415926535然而,實際上PI仍然是一個變量,Python并沒有任何機制來保證PI的值不會被改變。因此,雖然使用全大寫的變量名來表示常量是一種約定,但在實際操作中,PI的值是可以被修改的。本課件是可編輯的正常PPT課件1.3運算符與表達式在程序中,表達式用于計算和求值,它由運算符(操作符)和運算數(shù)(操作數(shù))組成。運算符是表示進行某種運算的符號,而運算數(shù)則可以是常量、變量和函數(shù)等。例如,在表達式4+5中,4和5被稱為操作數(shù),+則是運算符。2.3.1運算符2.3.2表達式本課件是可編輯的正常PPT課件2.3.1運算符Python支持多種類型的運算符,包括:算術運算符、比較(關系)運算符、賦值運算符、邏輯運算符、位運算符、成員運算符和身份運算符。算術運算符關系運算符邏輯運算符賦值運算符位運算符成員運算符標識運算符運算符的優(yōu)先級本課件是可編輯的正常PPT課件2.3.2表達式表達式是由一個或多個運算組成的組合。Python語言中的表達式與其他編程語言的表達式?jīng)]有顯著區(qū)別。每個符合Python語言規(guī)則的表達式都會計算出一個確定的值。常量、變量的運算以及函數(shù)的調用都可以構成表達式。在本書后續(xù)章節(jié)中,我們將介紹的序列、函數(shù)和對象也可以成為表達式的一部分。本課件是可編輯的正常PPT課件2.4序列數(shù)據(jù)結構序列是Python中最基本的數(shù)據(jù)結構。序列中的每個元素都分配有一個數(shù)字,稱為其位置或索引。第一個索引為0,第二個索引為1,以此類推。序列支持的操作包括索引、切片、加法、乘法以及成員檢查。此外,Python內置了確定序列長度以及查找最大和最小元素的方法。最常見的內置序列類型包括列表、元組、字典和集合。2.4.1列表2.4.2元組2.4.3字典2.4.4集合本課件是可編輯的正常PPT課件2.4.1列表列表(list)是Python中使用最廣泛的數(shù)據(jù)類型。列表中的數(shù)據(jù)項不需要具有相同的類型。雖然列表類似于其他語言中的數(shù)組,但其功能要強大得多。創(chuàng)建一個列表,只需將逗號分隔的不同數(shù)據(jù)項用方括號括起來即可。例如:list1=['泰山','嵩山',1997,2000]list2=[1,2,3,4,5]list3=["a","b","c","d"]列表的索引從0開始,可以進行截取(切片)、組合等操作。訪問列表中的值更新列表刪除列表元素添加列表元素定義多維列表列表的操作符本課件是可編輯的正常PPT課件2.4.2元組Python的元組(tuple)與列表類似,但有一個重要的區(qū)別:元組的元素不可修改。元組使用小括號()來定義,而列表則使用方括號[]。元組中的元素類型可以不同。創(chuàng)建元組訪問元組元組連接刪除元組元組運算符元組與列表轉換本課件是可編輯的正常PPT課件2.4.3字典Python字典(dict)是一種可變容器模型,能夠存儲任意類型的對象,如字符串、數(shù)字、元組等其他容器模型。字典也被稱為關聯(lián)數(shù)組或哈希表。創(chuàng)建字典訪問字典里的值修改字典in運算獲取字典中的所有值items()方法本課件是可編輯的正常PPT課件2.4.4集合集合(set)是一個無序且不重復元素的序列。集合的基本功能包括進行成員關系測試和刪除重復元素。創(chuàng)建集合成員測試集合運算本課件是可編輯的正常PPT課件在Python程序中,執(zhí)行語句默認按照書寫順序依次執(zhí)行,這種結構被稱為順序結構。然而,僅有順序結構并不足以滿足所有需求,因為有時需要根據(jù)特定條件選擇性地執(zhí)行某些語句,這時就引入了選擇結構。此外,有時還需要在給定條件下反復執(zhí)行某些語句,這稱為循環(huán)結構。通過這三種基本結構,便可以構建出任意復雜的程序。第3章Python控制語句本課件是可編輯的正常PPT課件3.1選擇結構在三種基本程序結構中,選擇結構可以通過if語句、if...else語句和if...elif...else語句來實現(xiàn)。3.1.1if語句3.1.2if…else語句3.1.3if…elif…else語句3.1.4pass語句本課件是可編輯的正常PPT課件3.1.1if語句Python的if語句功能與其他編程語言相似,用于判斷給定條件是否滿足,并根據(jù)判斷結果(真或假)決定是否執(zhí)行相應的操作。if語句是一種單選結構,主要用于選擇執(zhí)行或不執(zhí)行某個操作。if語句由三部分組成:關鍵字if、測試條件的表達式(即條件表達式),以及在條件為真(即表達式值非零)時要執(zhí)行的代碼。其語法形式如下所示:if表達式:
語句1if語句的流程圖如圖3-1所示。本課件是可編輯的正常PPT課件3.1.2if…else語句前面介紹的if語句是一種單選結構,意味著如果條件為真(即表達式的值非零),程序將執(zhí)行指定的操作;否則,將跳過該操作。而if...else語句則是一種雙選結構,用于在兩個備選行動中選擇一個。if...else語句由五部分組成:關鍵字if、測試條件的表達式、在條件為真時要執(zhí)行的代碼,以及關鍵字else和在條件為假時要執(zhí)行的代碼。其語法形式如下所示:if表達式:
語句1else:
語句2if...else語句的示意圖如圖3-2所示。本課件是可編輯的正常PPT課件3.1.3布爾類型有時我們需要在多組操作中選擇執(zhí)行其中一組,這時就會使用多選結構。在Python中,這種結構是通過if...elif...else語句實現(xiàn)的。該語句允許我們檢查一系列條件表達式,并在某個表達式為真時執(zhí)行相應的代碼。需要注意的是,盡管if...elif...else語句可以包含多個備選操作,但最終只會執(zhí)行其中一組操作。其語法形式如下所示:if表達式1:
語句1elif表達式2:
語句2#...elif表達式n:
語句nelse:
語句n+1需要注意的是,最后一個elif子句之后的else子句并不進行條件判斷,它用于處理所有前面條件不匹配的情況,因此else子句必須放在最后。if...elif...else語句的示意圖如圖3-3所示。本課件是可編輯的正常PPT課件3.1.4pass語句Python提供了一個關鍵字pass,它類似于空語句,可以在類和函數(shù)的定義中,或在選擇結構中使用。當暫時無法確定如何實現(xiàn)某個功能,或者需要為將來的軟件升級留出空間,或者在其他類型的功能中時,可以使用這個關鍵字作為占位符。例如,以下代碼是合法的:ifa<b:pass#什么操作也不做else:z=aclassA:#類的定義
passdefdemo():#函數(shù)的定義
pass在以上示例中,pass語句允許在程序的特定位置保留一個空的代碼塊,確保代碼結構的完整性,同時不會引發(fā)錯誤。這在編寫框架或預留未來的功能時非常有用。本課件是可編輯的正常PPT課件3.2循環(huán)語句在一般情況下,程序按照順序執(zhí)行。然而,編程語言提供了各種控制結構,以允許更復雜的執(zhí)行路徑。循環(huán)語句使得某個語句或語句組可以被多次執(zhí)行。Python提供了for循環(huán)和while循環(huán)(注意,Python中沒有do...while循環(huán))。3.2.1while語句3.2.2for語句3.2.3continue和break語句3.2.4循環(huán)嵌套本課件是可編輯的正常PPT課件3.2.1while語句在Python編程中,while語句用于在滿足某個條件時循環(huán)執(zhí)行一段代碼。這種結構適合處理需要重復執(zhí)行的相同任務。while語句的基本形式如下:while判斷條件:
執(zhí)行語句while語句的流程圖如圖3-4所示。這種結構允許程序在條件為真時持續(xù)執(zhí)行指定的語句,直到條件不再成立為止。本課件是可編輯的正常PPT課件3.2.2for語句for語句可以遍歷任何序列的項目,例如列表、元組或字符串。for循環(huán)的語法通過索引循環(huán)【例3-4】遍歷字符串中的字符。forletterin'Python':print('當前字母:',letter)本課件是可編輯的正常PPT課件3.2.3continue和break語句break語句可以在while循環(huán)和for循環(huán)中使用,通常放在if選擇結構中。一旦break語句被執(zhí)行,整個循環(huán)將會提前結束。continue語句的作用是終止當前循環(huán)的迭代,忽略continue之后的語句,然后返回循環(huán)的頂部,開始下一次迭代。在使用break語句時,除非能使代碼更加簡潔或清晰,否則應謹慎使用?!纠?-7】continue和break的用法示例。#continue和break的用法i=1whilei<10:i+=1ifi%2>0:#當i為奇數(shù)時,跳過輸出
continueprint(i)#輸出偶數(shù):2、4、6、8、10i=1whileTrue:#循環(huán)條件為True,始終成立
print(i)#輸出1~10i+=1ifi>10:#當i大于10時,跳出循環(huán)
break本課件是可編輯的正常PPT課件3.2.4循環(huán)嵌套Python語言允許在一個循環(huán)體內嵌套另一個循環(huán)。這意味著可以在while循環(huán)中嵌入for循環(huán),也可以在for循環(huán)中嵌入while循環(huán)。通常情況下,嵌套層次不應超過三層,以保持代碼的可讀性。這里需要注意以下兩點: 循環(huán)嵌套時,外層循環(huán)和內層循環(huán)之間存在包含關系,即內層循環(huán)必須完全包含在外層循環(huán)的代碼塊中。 當程序中出現(xiàn)循環(huán)嵌套時,每當外層循環(huán)執(zhí)行一次,其內層循環(huán)必須完成所有迭代(即內層循環(huán)結束)后,才能進入外層循環(huán)的下一次迭代。本課件是可編輯的正常PPT課件3.3常用算法Python常用算法包括累加和累乘、求最大值和最小值、枚舉法、遞推與迭代等,這些算法廣泛應用于數(shù)據(jù)處理和問題求解。3.3.1累加和累乘3.3.2求最大數(shù)和最小數(shù)3.3.3枚舉法3.3.4遞推與迭代本課件是可編輯的正常PPT課件3.3.1累加和累乘累加與累乘是最常見的算法類型,它們通過在原有基礎上不斷地加上或乘以一個新的數(shù)來進行計算。例如,求1+2+3+…+n,計算n的階乘、求某個數(shù)列前n項的和,以及計算一個級數(shù)的近似值等,都是這類算法的典型應用。【例3-11】編寫程序,求自然對數(shù)e的近似值。i=1p=1sum_e=1#初始化sum_e為1t=1/p#計算第一項whilet>0.00001:#設定誤差閾值
p=p*i#計算i的階乘
t=1/p#計算當前項
sum_e+=t#累加當前項到sum_ei+=1#準備計算下一項print("自然對數(shù)e的近似值為:",sum_e)本課件是可編輯的正常PPT課件3.3.2求最大數(shù)和最小數(shù)求數(shù)據(jù)中的最大數(shù)和最小數(shù)的算法類似,可以采用“打擂”算法。以求最大數(shù)為例,可以先將第一個數(shù)作為當前的最大數(shù),然后與其他數(shù)逐個比較,若發(fā)現(xiàn)較大的數(shù),則用該數(shù)替換當前的最大數(shù)。【例3-12】編寫程序,求區(qū)間[100,200]內10個隨機整數(shù)中的最大數(shù)。importrandomx=random.randrange(100,201)#產(chǎn)生一個[100,200]之間的隨機數(shù)xmax_num=x#設定初始最大數(shù)print(x,end="")foriinrange(2,11):#生成10個隨機數(shù)
x=random.randrange(100,201)#產(chǎn)生另一個[100,200]之間的隨機數(shù)xprint(x,end="")ifx>max_num:#若新產(chǎn)生的隨機數(shù)大于當前最大數(shù),則進行替換
max_num=xprint("最大數(shù):",max_num)本課件是可編輯的正常PPT課件3.3.3枚舉法求數(shù)據(jù)中的最大數(shù)和最小數(shù)的算法類似,可以采用“打擂”算法。以求最大數(shù)為例,可以先將第一個數(shù)作為當前的最大數(shù),然后與其他數(shù)逐個比較,若發(fā)現(xiàn)較大的數(shù),則用該數(shù)替換當前的最大數(shù)?!纠?-14】編寫程序,輸出“水仙花數(shù)”。foriinrange(100,1000):#遍歷所有三位數(shù)
ge=i%10#獲取個位數(shù)字
shi=(i//10)%10#獲取十位數(shù)字
bai=i//100#獲取百位數(shù)字
#判斷立方和是否等于該數(shù)
ifge**3+shi**3+bai**3==i:print(i,end="")#輸出符合條件的水仙花數(shù)本課件是可編輯的正常PPT課件3.3.4遞推與迭代遞推迭代【例3-16】編寫程序,輸出斐波那契(Fibonacci)數(shù)列的前20項。該數(shù)列的第1項和第2項均為1,從第3項開始,每一項均為其前面兩項之和,即1,1,2,3,5,8,…。f1=1f2=1print(f1)#輸出第1項print(f2)#輸出第2項foriinrange(3,21):f3=f1+f2#遞推公式
print(f3)#輸出第i項
f1=f2f2=f3本課件是可編輯的正常PPT課件3.3.4遞推與迭代遞推迭代【例3-17】分數(shù)序列求和示例(有一個分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13…求出這個數(shù)列的前20項之和)。number=20a=2#分子初始值b=1#分母初始值s=0#和的初始值forninrange(1,number+1):s+=a/b#累加當前項的值
t=a#保存當前分子的值
#以下三句是程序的關鍵
a=a+bb=tprint(s)#輸出前20項的和本課件是可編輯的正常PPT課件到目前為止,所編寫的代碼都是以一個代碼塊的形式出現(xiàn)的。當某些任務(例如求一個數(shù)的階乘)需要在程序中不同位置重復執(zhí)行時,這會導致代碼重復率高,程序變得冗長且難以維護。為了解決這個問題,可以使用函數(shù)。在任何編程語言中,函數(shù)(在類中稱為方法,意義相同)都扮演著至關重要的角色。模塊是Python中的代碼組織單元,它將函數(shù)、類和數(shù)據(jù)封裝在一起,以便于重用。模塊通常對應于Python程序文件,Python標準庫和第三方庫提供了大量可用的模塊。第4章Python函數(shù)與模塊本課件是可編輯的正常PPT課件4.1函數(shù)的定義和調用在Python程序開發(fā)過程中,將完成特定功能且經(jīng)常使用的代碼編寫成函數(shù),并放在函數(shù)庫(模塊)中供大家使用,這就是程序中的函數(shù)。開發(fā)人員應善于利用函數(shù),以提高編碼效率,減少重復編寫代碼的工作量。4.1.1函數(shù)的定義4.1.2函數(shù)的調用4.1.3Lambda表達式4.1.4函數(shù)的返回值本課件是可編輯的正常PPT課件4.1.1函數(shù)的定義在某些編程語言中,函數(shù)聲明和函數(shù)定義是有區(qū)別的(例如,在C語言中,函數(shù)聲明和定義可以出現(xiàn)在不同的文件中)。而在Python中,函數(shù)聲明與定義被視為一體。Python中函數(shù)定義的基本形式如下:def函數(shù)名(形式參數(shù)):
函數(shù)體
return表達式或值【例4-1】定義一個函數(shù),功能是打印一行“HelloWorld!”,并調用該函數(shù)。defSayHello():#函數(shù)定義
print("HelloWorld!")#函數(shù)體#主程序SayHello()#函數(shù)調用本課件是可編輯的正常PPT課件4.1.2函數(shù)的調用函數(shù)的定義明確了其功能。一旦定義完成,程序的任何位置都可以調用該函數(shù)。當調用一個函數(shù)時,程序的控制權會轉移到被調用的函數(shù);當該函數(shù)執(zhí)行完畢后,控制權就會返回給調用者。圖4-4所示詳細解釋了jc函數(shù)調用的過程。本課件是可編輯的正常PPT課件4.1.2函數(shù)的調用【例4-4】利用求正整數(shù)階乘的函數(shù),編寫一個計算階乘和1!+2!+…+n!的函數(shù),并使用該函數(shù)求出1!+2!+3!+4!+5!的和。#求正整數(shù)階乘的函數(shù)defjc(n):s=1foriinrange(1,n+1):s*=ireturns#求階乘和的函數(shù)defsum_factorials(n):ss=0foriinrange(1,n+1):ss+=jc(i)returnss#主程序i=5k=sum_factorials(i)print("1!+2!+3!+4!+5!=",k)本課件是可編輯的正常PPT課件4.1.3Lambda表達式Lambda表達式用于聲明匿名函數(shù),即不具備名稱的臨時小函數(shù)。它只能包含一個表達式,該表達式的計算結果即為函數(shù)的返回值,不允許包含其他復雜的語句,但可以在表達式中調用其他函數(shù)。例如,下面的代碼定義了一個Lambda表達式:f=lambdax,y,z:x+y+zprint(f(1,2,3))執(zhí)行以上代碼的輸出結果為:6這段代碼等價于以下常規(guī)函數(shù)的定義:deff(x,y,z):returnx+y+zprint(f(1,2,3))本課件是可編輯的正常PPT課件4.1.4函數(shù)的返回值函數(shù)并不一定有返回值。例4-1和例4-2展示了一個無返回值函數(shù)的例子;而例4-3和例4-4則給出了一個帶返回值的函數(shù)示例。函數(shù)調用時的參數(shù)傳遞實現(xiàn)了從外部向函數(shù)內部輸入數(shù)據(jù),而函數(shù)的返回值則解決了函數(shù)向外部輸出信息的問題。【例4-6】定義一個函數(shù),計算圓的面積,并打印出給定半徑圓的面積。#定義函數(shù)circle1,直接打印出圓的面積defcircle1(r):#函數(shù)定義
area=3.14*r*r#計算圓的面積
print("半徑為",r,"的圓的面積為:",area)#主程序circle1(3)#函數(shù)調用本課件是可編輯的正常PPT課件4.2函數(shù)參數(shù)在學習Python函數(shù)時,常見的問題主要包括形參與實參的區(qū)別、參數(shù)的傳遞與修改,以及變量的作用域。接下來,我將逐一進行講解。4.2.1函數(shù)形參和實參的區(qū)別4.2.2參數(shù)的傳遞4.2.3函數(shù)參數(shù)的類型4.2.4變量的作用域本課件是可編輯的正常PPT課件4.2.1函數(shù)形參和實參的區(qū)別在函數(shù)定義中,參數(shù)被稱為形參,例如例4-2中的SayHello函數(shù)中的s,以及例4-3中的jc函數(shù)中的n。如果形參的數(shù)量超過一個,各參數(shù)之間用逗號分隔。在定義函數(shù)時,形參并不代表任何具體的值,只有在函數(shù)調用時,具體的值才會被賦給形參。調用函數(shù)時傳入的參數(shù)稱為實參,比如在例4-2中調用SayHello函數(shù)時傳入的字符串參數(shù)"Hello!",以及在例4-3中調用jc函數(shù)時傳入的變量參數(shù)i。本課件是可編輯的正常PPT課件4.2.2參數(shù)的傳遞在大多數(shù)高級語言中,理解參數(shù)的傳遞方式一直是一個難點和重點。這一問題并不那么直觀,但如果不理解,就很容易在編程時出錯。接下來,我們將探討Python中函數(shù)參數(shù)的傳遞機制。在討論之前,需要明確的一點是:在Python中,“一切皆對象”,變量存儲的是對象的引用。這一概念可能有些難以理解,但在Python中,所有數(shù)據(jù)類型,包括我們常用的字符串和整型,都是對象。為了驗證這一點,我們可以進行如下測試:x=2y=2print(id(2))print(id(x))print(id(y))z='hello'print(id('hello'))print(id(z))本課件是可編輯的正常PPT課件4.2.2參數(shù)的傳遞在這里,我們需要解釋一下id()函數(shù)的作用。id(object)函數(shù)返回對象object的唯一標識符(即在內存中的地址)。id()函數(shù)的參數(shù)類型是對象,因此在語句id(2)中并不會報錯,這表明數(shù)字2在Python中被視為一個對象。從結果可以看出,id(x)、id(y)和id(2)的值是相同的,而id(z)和id('hello')的值也一致。這表明在Python中,一切皆對象,像2和'hello'這樣的值都是對象,只不過2是整型對象,而'hello'是字符串對象。在上面的例子中,x=2的實際處理過程如下:首先,Python會申請一段內存來存儲整型值2,并將變量x指向這個對象,實際上就是指向這段內存(這與C語言中的指針概念有些相似)。由于id(2)和id(x)返回的結果相同,因此可以推斷id()函數(shù)在作用于變量時,返回的是變量所指向對象的內存地址。在這個意義上,可以將x看作是對象2的一個引用。同理,y=2也意味著變量y指向同一個整型對象2,如圖4-6所示。本課件是可編輯的正常PPT課件4.2.3函數(shù)參數(shù)的類型在C語言中,調用函數(shù)時必須嚴格遵循函數(shù)定義時的參數(shù)個數(shù)和類型,若不符合規(guī)定將會導致錯誤。然而,在Python中,函數(shù)參數(shù)的定義和傳遞方式則靈活得多。這種靈活性使得Python能夠更方便地處理各種情況,允許開發(fā)者在調用函數(shù)時不必過于擔心參數(shù)的具體類型和數(shù)量。位置參數(shù)默認參數(shù)和關鍵參數(shù)可變長度參數(shù)序列作為參數(shù)【例4-10】改進SayHello函數(shù),使其能夠輸出多行字符串。調用該函數(shù)打印三行“Hello!”。defSayHello(s,n):#函數(shù)定義
foriinrange(1,n+1):print(s)#主程序SayHello("Hello!",3)#位置參數(shù)本課件是可編輯的正常PPT課件4.2.4變量的作用域引入函數(shù)的概念后,變量的作用域問題隨之出現(xiàn)。變量的作用域是指變量起作用的范圍。一個變量在函數(shù)外部定義和在函數(shù)內部定義,其作用域是不同的。此外,使用特殊關鍵字定義的變量也會改變其作用域。本節(jié)將討論變量的作用域規(guī)則。。局部變量全局變量以下是一個局部變量使用的示例:deffun():x=3count=2whilecount>0:print(x)count-=1fun()print(x)#這里會報錯:NameError:name'x'isnotdefined本課件是可編輯的正常PPT課件4.3閉包和函數(shù)的遞歸調用閉包是一個函數(shù),可以捕獲并記住其外部作用域的變量,而遞歸調用是一個函數(shù)在其定義中直接或間接地調用自身以解決問題。4.3.1閉包4.3.2函數(shù)的遞歸調用本課件是可編輯的正常PPT課件4.3.1閉包在Python中,閉包(closure)是指函數(shù)內部定義嵌套函數(shù)的特性。嵌套函數(shù)可以被視為一個對象,因此可以將其作為定義它的外部函數(shù)的返回值。以下是一個使用閉包的示例:deffunc_lib():defadd(x,y):returnx+yreturnadd#返回函數(shù)對象fadd=func_lib()#獲取閉包函數(shù)print(fadd(1,2))#輸出結果為3在這個示例中,func_lib函數(shù)內部定義了一個嵌套函數(shù)add(x,y),并將其作為func_lib的返回值。運行fadd(1,2)后,輸出結果為3。本課件是可編輯的正常PPT課件4.3.2函數(shù)的遞歸調用遞歸調用遞歸調用的執(zhí)行過程函數(shù)在執(zhí)行過程中直接或間接地調用自身,這種調用方式稱為遞歸調用。Python語言支持遞歸調用?!纠?-22】函數(shù)遞歸調用示例(求1到5的平方和)。deff(x):ifx==1:#遞歸調用結束的條件
return1else:return(f(x-1)+x*x)#調用f()函數(shù)本身print(f(5))在調用f函數(shù)的過程中,如果直接再次調用f函數(shù),則稱為直接調用本函數(shù)。而如果在調用f1函數(shù)時需要調用f2函數(shù),而在f2函數(shù)中又調用f1函數(shù),則稱為間接調用本函數(shù),如圖4-8所示。本課件是可編輯的正常PPT課件4.3.2函數(shù)的遞歸調用遞歸調用遞歸調用的執(zhí)行過程遞歸調用可分為兩個關鍵階段:遞推和回歸。(1)遞推階段: 函數(shù)不斷調用自身,每次調用都會將當前狀態(tài)壓入棧中。 每次遞歸調用都會檢查終止條件。 這個過程持續(xù)到滿足終止條件為止。(2)回歸階段: 從棧頂開始,逐層返回并處理結果。 每完成一層處理,就從棧中彈出相應的狀態(tài)。 這個過程持續(xù)到棧為空,即返回到初始調用處。圖4-9所示展示了例4-23中遞歸調用的詳細過程,直觀地呈現(xiàn)了遞推和回歸的各個階段。本課件是可編輯的正常PPT課件4.4Python內置函數(shù)內置函數(shù)(built-infunctions)也稱為系統(tǒng)函數(shù)或內建函數(shù),是Python語言本身提供的一套隨時可用的函數(shù)庫。這些函數(shù)涵蓋了多個領域,其中最常用的包括數(shù)學運算函數(shù)、類型轉換函數(shù)以及隨機數(shù)生成函數(shù)等。4.4.1數(shù)學運算函數(shù)4.4.2集合操作函數(shù)4.4.3字符串函數(shù)4.4.4反射函數(shù)4.4.5I/O函數(shù)本課件是可編輯的正常PPT課件4.4.1數(shù)學運算函數(shù)數(shù)學運算函數(shù)主要用于執(zhí)行各種算術運算。這些函數(shù)的詳細信息可參見表4-3。這些內置的數(shù)學函數(shù)大大簡化了程序員在處理數(shù)學計算時的工作,提高了代碼的效率和可讀性。本課件是可編輯的正常PPT課件4.4.2集合操作函數(shù)Python內置的集合操作函數(shù)用于執(zhí)行各種集合相關的操作,如創(chuàng)建集合、轉換數(shù)據(jù)類型、排序、查找最大最小值、計算長度等,幫助簡化集合數(shù)據(jù)的處理,具體說明如表4-4所示。本課件是可編輯的正常PPT課件4.4.3字符串函數(shù)常用的Python字符串操作包括字符串的替換、刪除、截取、復制、連接、比較、查找和分割等。具體的字符串函數(shù)如表4-5所示。本課件是可編輯的正常PPT課件4.4.3字符串函數(shù)本課件是可編輯的正常PPT課件4.4.4反射函數(shù)反射函數(shù)主要用于獲取類型、對象的標識、基類等操作,如表4-6所示。本課件是可編輯的正常PPT課件4.4.5I/O函數(shù)I/O函數(shù)主要用于輸入/輸出操作,相關說明如表4-7所示。本課件是可編輯的正常PPT課件4.5模塊模塊(module)是Python中用于邏輯組織代碼的工具。通過將相關的代碼分配到一個模塊中,可以使代碼更加結構化、易于理解和維護。簡單來說,模塊就是一個保存了Python代碼的文件,其中可以定義函數(shù)、類和變量。在Python中,模塊的概念與C語言中的頭文件或Java中的包類似。例如,在Python中,如果要使用sqrt函數(shù)計算平方根,就需要通過import關鍵字引入math模塊。接下來,我們將學習Python中模塊的相關內容。4.5.1import導入模塊4.5.2自定義模塊4.5.3常用標準模塊本課件是可編輯的正常PPT課件4.5.1import導入模塊導入模塊的方式模塊位置的搜索順序列舉模塊內容在Python中,可以使用import關鍵字來導入一個模塊。其基本語法如下:import模塊名
例如,要引用math模塊,可以在代碼的開頭使用以下語句導入:importmath#導入math模塊在導入模塊后,調用模塊中的函數(shù)時需要使用“模塊名.函數(shù)名”的形式。例如:importmath#導入math模塊print(f"50的平方根是:{math.sqrt(50)}")#調用sqrt函數(shù)計算平方根y=math.pow(5,2)#使用pow函數(shù)計算5的平方print(f"5的2次方是:{y}")#輸出結果:25.0本課件是可編輯的正常PPT課件4.5.1import導入模塊導入模塊的方式模塊位置的搜索順序列舉模塊內容當導入一個模塊時,Python解釋器會按照以下順序查找模塊的位置。(1)當前目錄。首先,Python會在當前目錄中查找模塊。(2)PYTHONPATH環(huán)境變量。如果在當前目錄找不到模塊,Python會繼續(xù)在PYTHONPATH環(huán)境變量指定的目錄中查找。(3)默認安裝目錄。如果上述兩步都沒有找到,Python會查找安裝過程中確定的默認目錄。模塊的搜索路徑存儲在sys模塊的sys.path變量中。這個變量包含了當前目錄、PYTHONPATH中指定的目錄,以及安裝時設定的默認目錄。例如,以下代碼可以查看Python的模塊搜索路徑:>>>importsys>>>print(sys.path)本課件是可編輯的正常PPT課件4.5.1import導入模塊導入模塊的方式模塊位置的搜索順序列舉模塊內容dir()函數(shù)返回一個按字母順序排列的字符串列表,列出模塊中定義的所有變量、函數(shù)和類等。例如,以下是一個簡單的示例:importmath#導入math模塊content=dir(math)#獲取math模塊中的所有內容print(content)#輸出內容在這個列表中,除了Python內置的特殊變量(例如_doc_、_name_等)外,還包括了模塊math中定義的函數(shù)和常量,如sqrt、pi、sin等。這使得dir()函數(shù)成為了解模塊內容和函數(shù)列表的有用工具。本課件是可編輯的正常PPT課件4.5.2import導入模塊在Python中,每個Python文件都可以作為一個模塊,模塊的名字就是文件的名字。例如,假設有一個文件fibo.py,在fibo.py中定義了三個函數(shù):add()、fib()和fib2()。以下是fibo.py文件的示例代碼:#fibo.py-斐波那契數(shù)列模塊deffib(n):#定義生成到n的斐波那契數(shù)列的函數(shù)
a,b=0,1whileb<n:print(b,end='')a,b=b,a+bprint()#輸出換行deffib2(n):#定義返回到n的斐波那契數(shù)列的函數(shù)
result=[]a,b=0,1whileb<n:result.append(b)a,b=b,a+breturnresultdefadd(a,b):#定義兩個數(shù)相加的函數(shù)
returna+b本課件是可編輯的正常PPT課件4.5.2import導入模塊在fibo.py文件中,定義了三個函數(shù):
fib(n):打印出小于n的所有斐波那契數(shù)。
fib2(n):返回一個包含小于n的所有斐波那契數(shù)的列表。
add(a,b):返回a和b的和。這樣,fibo.py就成為了一個名為fibo的模塊。接下來,可以在其他文件中使用這個模塊。例如,在test.py文件中:#test.pyimportfibo#導入自定義模塊fibo#使用模塊名稱調用函數(shù)fibo.fib(1000)#輸出:1123581321144233377610987print(fibo.fib2(100))#輸出:[1,1,2,3,5,8,13,21,34,55,89]print(fibo.add(2,3))#輸出:5本課件是可編輯的正常PPT課件4.5.3常用標準模塊time模塊calendar模塊datetime模塊random模塊math和cmath模塊本課件是可編輯的正常PPT課件在程序運行時,數(shù)據(jù)保存在內存中的變量里。然而,這些數(shù)據(jù)在程序結束或計算機關機后會消失。如果希望在下次開機運行程序時仍能使用相同的數(shù)據(jù),就需要將數(shù)據(jù)存儲在非易失性存儲介質中,例如硬盤、光盤或U盤。非易失性存儲介質上的數(shù)據(jù)以存儲路徑命名的文件形式保留。通過讀寫文件,程序可以在運行時保存數(shù)據(jù)。本章將學習如何使用Python在磁盤上創(chuàng)建、讀取、寫入和關閉文件。本章將重點介紹基本的文件操作函數(shù),更多函數(shù)請參考Python標準文檔。第5章Python文件操作本課件是可編輯的正常PPT課件5.1文件的訪問對文件的訪問是指對文件進行讀寫操作。使用文件的方式與日常生活中使用記事本非常相似。當我們使用記事本時,首先需要打開它,使用完
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026婦科護理常規(guī)試題及答案解析
- 新能源汽車技術考試試題及答案
- 海南省北京師范大學萬寧實驗學校2025-2026學年八年級上學期期中考試歷史試卷(含答案)
- 2026年遠洋船舶監(jiān)控項目建議書
- 親子關系中的溝通技巧與方法探討
- 污水處理廠工程投資計劃書
- 鋼結構幕墻施工人員考核方案
- 2026年酒店客房服務員職位面試常見問題集
- 2025年醫(yī)療衛(wèi)生服務與健康管理規(guī)范
- 企業(yè)銷售管理與業(yè)績提升實務手冊
- 吉林省梅河口市五中2025-2026學年高二上學期期末語文試卷及答案
- 2026遼寧機場管理集團校招面筆試題及答案
- 2026年共青團中央所屬單位高校畢業(yè)生公開招聘66人備考題庫及參考答案詳解
- 2025徽銀金融租賃有限公司社會招聘筆試歷年典型考題及考點剖析附帶答案詳解
- 2026年遼寧軌道交通職業(yè)學院單招綜合素質筆試備考題庫帶答案解析
- 2026年6級英語模擬真題及答案
- 2025內蒙古鄂爾多斯市委政法委所屬事業(yè)單位引進高層次人才3人考試題庫含答案解析(奪冠)
- 2025年全國單獨招生考試綜合試卷(附答案) 完整版2025
- 2025-2026學年外研版八年級上冊英語期末模擬考試題(含答案)
- 高密度聚乙烯(HDPE)排水管(八角雙密封)
- 連鎖超市總部部門崗位職責說明書
評論
0/150
提交評論