版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《Python程序設計基礎項目化教程》課程教案課題:項目一?初識Python教學目的:1.深刻認識到熟悉Python環境、掌握Python的基本概念是后續所有編程實踐的基石,從而培養腳踏實地、循序漸進的學習品?格。2.通過學習Python嚴格的語法規范,理解計算機程序對精確性的要求,進而在實踐中養成一絲不茍、嚴謹細致的科學態?度。3.通過了解Python標準庫與第三方庫,理解開源社區的協作模式與共享精?神。4.掌握Python環境的搭建與配置。5.理解Python的生態系統與模塊化編程。6.掌握Python的核心語法基礎與編碼規范。課型:新授課課時:本章安排6個課時。教學重點:重點:掌握Python環境的搭建與配置。教學難點:難點:理解Python的生態系統與模塊化編程。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題初識Python課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境Python以其簡潔的語法、強大的功能和廣泛的應用領域,成為無數開發者入門編程的首選語言。它不僅是一門語言,更是一塊通往數據科學、人工智能、網絡開發等前沿領域的堅實基?石。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一Python概述一、Python簡介Python由荷蘭人吉多·范羅蘇姆(GuidovanRossum)設計。作為一門叫作ABC語言的替代品,Python不僅提供了高效的高級數據結構,還能簡單有效地支持面向對象編?程。二、Python3.14.0新特性Python3.14.0主要有以下新功能與新特?性。1.?自由線程舊版本Python處理任務時,即使電腦有多個處理器核心(可以理解為多個“大腦”),同一時間也只能使用一個。新版本完善了“自由線程”模式,開啟后,程序可同時使用電腦的多個核心。這就好比從“一個人排隊辦事”變成“開放多個窗口同時辦事”,處理大型計算任務的速度會快很?多。2.?延遲解析注解這是另一種實現并行計算的方式,它允許在一個進程中創建多個相對獨立的Python解釋器環境。在給代碼添加類型說明(注解)時,如果引用了一個在后面才定義的類型,舊版本會報錯(因為它“不認識”還沒“出場”的類型)。新版本允許“先引用,后定義”,讓代碼組織更自?由。(1)在Python3.14.0中,如下寫法是完全正確的。(2)在舊版本中,下述代碼可能會因為不識別Department而報錯。3.?新增了更安全的字符串寫法Python3.14.0新增了一種新的字符串語法,為處理需要延遲替換內容的文本提供了便利。常用的f-string會立即把變量填入字符串;新引入的t-string則像一個“模板”,它不會馬上填充內容,而是提供一個在填充前檢查的機會,也更安?全。4.?報錯提示更精準Python3.14.0繼續優化了錯誤提示。代碼寫錯時,它不僅會指出錯誤,還會像個聰明的老師一樣,猜測你可能想寫的是什么,幫助你快速找到并解決問?題。下面介紹幾種常見的代碼報錯情?況。(1)函數名拼寫錯誤。(2)變量名拼寫錯誤。三、安裝PythonPython是一種解釋型腳本語言,因此要想讓編寫的代碼得以運行,需要先安裝Python解釋?器。1.?下載Python3.14.0打開Python官方網站進入下載頁面,如圖1-1所示,在“ActivePythonReleases”選區顯示不同版本的Python(從Python3.9~Python3.15)。其中,Python3.15是預發布的版本,預計2026年10月7日發?布。2.?安裝3.?檢查安裝結束后,需要檢查安裝是否成?功。四、Anaconda除了可以使用pip3命令安裝包,還可以從Anaconda的官方渠道安裝。Anaconda提供了大量的Python包和工具,便于安裝和管?理。1.?安裝Anaconda登錄Anaconda的官網,網站會根據操作系統(如Windows10/11)自動選擇最新的Python3.x版本,并選擇“64-BitGraphicalInstaller(914M)”進行下載,如圖1-10所?示。2.?驗證安裝結果安裝完成后,在“開始”→“Anaconda3(anaconda3)”選項列表中可看到安裝后的4個圖?標。五、Python的基本概念Python是面向對象程序設計(ObjectOrientedProgramming,OOP)語言,主要針對大型軟件設計提出,能讓軟件的設計更加靈活,更好地支持代碼復用和設計復用,并使得代碼具有更好的可讀性和可擴展?性。在進行面向對象程序設計之前,需要了解設計過程中的一些基本概?念。1.?對象2.?類3.?定義4.?函數5.?方法6.?包7.?模塊8.?庫任務二Python開發環境一、IDLEShellIDLE(IntegratedDevelopmentandLearningEnvironment,集成開發與學習環境)是Python官方自帶的一個迷你集成開發環境。安裝Python后,IDLE會被一同安裝,無須額外配置。它包含了學習編程所需要的基本功能:交互式窗口(Shell)、代碼編輯器、運行與調?試,非常適合初學者。二、Python標準庫Python標準庫是隨Python安裝一同提供的一系列模塊和包。它并不會隨著解釋器的啟動而啟動,需要使用前通過import語句顯式導入。Python內置的標準庫很龐大,可以幫助用戶處理各種工作,包括生成文檔、制作網頁瀏覽器、發送電子郵件等。下面按照模塊分類介紹Python標準庫。1.?數字和數學模塊2.?數據類型3.?功能編程模塊4.?數據持久化5.?數據壓縮和存檔6.?文件格式7.?文件和目錄訪問8.?通用操作系統服務三、Python第三方庫Python擁有一個龐大的第三方庫生態系統。這些庫需通過pip等包管理工具安裝后,才能在代碼中導入使?用。1.?使用pip工具下載安裝庫pip是通用的Python包管理工具,提供Python包的查找、下載、安裝、卸載等功能,是下載特定包、安裝模塊/庫的簡便工?具。(1)安裝NumPy。按快捷鍵Win+R打開“運行”對話框,輸入“cmd”,打開命令提示符窗口,顯示對應的用戶名(不同的用戶顯示的用戶名有所不同)。(2)卸載NumPy。(3)安裝檢驗。安裝結束后,啟動IDLE(Python3.1264-bit),在IDLEShell3.12.2中輸入下面的程序,使用模塊中的函數,驗證模塊安裝是否成功。(4)數據處理庫Pandas。Pandas是基于NumPy的一種工具,該工具是為解決數據分析任務而創建的。Pandas提供了大量能使我們快速、便捷地處理數據的函數和方?法,并提供了大量的庫和一些標準的數據模型,是高效操作大型數據集所需要的工具。2.?在Anaconda中下載和安裝庫(1)使用命令行工具conda。conda是Anaconda自帶的強大包管理工具,使用命令行安裝庫是一種高效、通用的方?法。(2)使用AnacondaNavigator軟件。四、官網下載軟件包在PyCharm中安裝第三方庫失敗時,可以到官網下載對應的安裝?包。搜索對應安裝包(如pandas)的界面,如圖1-36所示。在搜索結果頁面選擇“Navigation”→“Downloadfiles”選項,打開如圖1-37所示的界面,然后選擇對應的下載文件。五、模塊導入在計算機程序的開發過程中,隨著代碼量的增加,將所有代碼都放在一個文件里會使其越來越長、越來越難以維護。為了編寫可維護的代碼,我們可以把功能相關的函數和類進行分組,分別放在不同的文件中。在Python中,一個.py文件就是一個模?塊。任務三語法基礎一、語法規范1.?行寬每行代碼盡量控制在79個字符以內,以便在控制臺查看代碼,增強代碼的可讀?性。2.?空行空行并不是Python語法的一部分,其作用主要是分隔兩段不同功能或含義的代碼,便于代碼的維護或重?構。通常,函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口。其他使用空行的情況如?下。(1)模塊級函數和定義類之間空兩行。(2)類成員函數之間空一行。(3)函數中使用空行分隔邏輯相關的代碼。3.?空格符號(1)在二元運算符兩邊各空一格,包括賦值(=)、增量賦值(+=、?=)、比較(==、!=、>、<)、布爾(and、or、not)和成員測試(in、isnot)等。(2)逗號、#、分號和冒號之后要有空格。(3)函數的參數在指定默認值的情況下,默認值等號兩邊不需要添加空格。(4)緊貼著左括號“(、[、{”之后及右括號“)、]、}”之前,不應有多余的空格。(5)字典對象的左括號之前不要有多余的空格。(6)不要為了對齊而使用額外的空格。二、標識符在程序編碼的過程中,標識符用來標識變量、函數、類、模塊或其他對象的名稱。在Python中,標識符必須遵循特定的規則和約?定。1.?標識符的組成規?則2.?通用標識符規范[PEP8(PythonEnhancementProposal8)約?定]3.?Python中的特殊標識符(特殊約?定)4.?類型標識?符5.?標識符示例三、基本符號Python的語法簡潔明了、可讀性強,非常接近自然語言和數學表達式。本節介紹構成Python代碼的基本語法元?素。1.?命令提示符(1)交互式提示符(>>>)。(2)腳本文件。(3)常見初級錯誤。2.?縮進與許多編程語言不同,縮進在Python中不是可選項,而是語法的一部分。它用來定義代碼塊的層級關系(例如,哪些代碼屬于if語句,哪些代碼屬于一個函?數)。(1)同一代碼塊內的所有語句必須保持完全相同的縮進?量。(2)統一使用4個空格作為一級縮?進。(3)在同一個文件中混合使用“Tab”鍵和“空格”鍵進行縮進,會導致IndentationError或不可預料的邏輯錯?誤。3.?換行當一行代碼過長時(PEP8規范建議每行不超過79個字符),需要進行換行以確保可讀?性。(1)括號內的隱式換行(推薦方?式)。(2)使用反斜杠“\”顯式換行。4.?語句規范(1)一行只寫一條語句。為了使代碼清晰,應避免使用分號并在同一行內寫多條語?句。(2)復合語句的換行與縮進。四、注釋符號注釋是代碼中用于解釋說明的文字,它們會被Python解釋器完全忽略,不會對程序的執行產生任何影響。編寫注釋的主要目的是提高代碼的可讀性,以便自己或其他開發者快速理解代碼的意圖和邏?輯。種類型的注釋:單行注釋和多行注?釋。1.?單行注釋Python使用#(#開頭,從#開始直到該行末尾的所有內容都屬于注?釋)對多行代碼的功能進行說明時,一般將注釋放在代碼的上一行;對單行代碼的功能進行說明時,通常將注釋放在代碼的右側。PEP8規范:代碼右側注釋的#前應至少有兩個空格,#后面應有一個空?格。2.?多行注釋多行注釋內有多行內容(包含一行),通常用于為Python文件、模塊、類或函數等添加版權或功能描述信?息。五、頭部聲明與結構一個規范的Python腳本(.py文件)通常會在文件開頭包含一些標準化聲明,用于定義腳本的運行環境、編碼方式和依賴項。這些聲明共同構成了腳本的“頭?部”。1.?Shebang行2.?編碼聲明3.?模塊導入六、常量與變量常量和變量是程序中用來存儲數據的基本構建塊。它們通過一個易于記憶的名稱(標識符)來代表程序需要處理的數?據。1.?常量常量是指在程序運行期間,其值理論上不應該被改變的量。如數學中的π或一個項目中固定的配置?項。2.?變量變量可以理解為程序中存儲數據的“標簽”或“名稱”。為數據貼上一個標簽(變量名),能在后續代碼中方便地引用或操作這個數?據。(1)變量的創建與賦值。(2)多重賦值。七、運算符運算符是編程語言中用于執行計算、比較和邏輯判斷的特殊符號。將常量、變量、函數通過運算符連接起來,就構成了表達式。Python提供了豐富多樣的運算符來滿足各種計算需?求。1.?賦值運算符2.?算術運算符3.?邏輯運算符4.?比較(關系)運算符5.?位運算符6.?成員運算符7.?身份運算符8.?運算符的優先級1.教學以學生學習教材的基本內容為主,系統全面地學習初識Python的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章系統講解了Python入門核心知識,涵蓋Python語言概述、3.14.0版本全新特性、Python與Anaconda環境安裝配置、開發工具與庫的使用方法,同時詳細梳理了Python語法規范、標識符、注釋、變量常量、運算符等基礎核心語法。通過本章學習,可掌握Python開發環境搭建流程、標準庫與第三方庫的安裝導入方式,熟悉規范化代碼編寫規則,厘清編程基礎概念,為后續Python代碼編寫、功能開發與進階學習奠定扎實的理論與實操基礎。《Python程序設計基礎項目化教程》課程教案課題:項目二?PyCharm基礎知識教學目的:1.深刻認識到熟悉Python環境、掌握Python的基本概念是后續所有編程實踐的基石,從而培養腳踏實地、循序漸進的學習品?格。2.通過學習Python嚴格的語法規范,理解計算機程序對精確性的要求,進而在實踐中養成一絲不茍、嚴謹細致的科學態?度。3.通過了解Python標準庫與第三方庫,理解開源社區的協作模式與共享精?神。4.掌握Python環境的搭建與配置。5.理解Python的生態系統與模塊化編程。6.掌握Python的核心語法基礎與編碼規范。課型:新授課課時:本章安排6個課時。教學重點:重點:掌握Python環境的搭建與配置。教學難點:難點:理解Python的生態系統與模塊化編程。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題PyCharm基礎知識課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境PyCharm是專為Python開發者設計的一款強大的集成開發環境。編寫代碼僅僅是軟件開發的一部分,一名專業的開發者需要花費大量時間在項目的管理、程序的運行、錯誤的排查,以及功能的擴展上。PyCharm正是為此而生,它提供了一整套高效的工具來支持這些關鍵環?節。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一PyCharm從安裝到運行一、PyCharm下載和安裝為了顯著提升Python項目的開發與管理效率,推薦使用PyCharm這款強大的集成開發環境。PyCharm由知名軟件公司JetBrains專為Python語言開發打造,集成了一整套能極大提高生產力的工具。它提供了智能代碼編輯器、強大的調試器、語法高亮、項目管理、代碼導航、智能提示,以及自動補全等核心功能,能幫助開發者更高效地編寫和維護Python代?碼。1.?下載PyCharm訪問JetBrains的PyCharm官方網站進行下載,如圖2-2所?示。2.?安裝PyCharm雙擊PyCharm-2025.2.3.exe文件,彈出安裝界面,如圖2-3所?示。3.?配置PyCharm雙擊桌面上的PyCharm圖標,運行“PyCharm2025.2.3”,激活“PyCharm2025.2”啟動界面,如圖2-9所示。然后進入“語言和區域”選擇界面,默認選擇中文語言包和中國大陸,如圖2-10所?示。二、項目文件創建在Python開發中,每個項目通常以一個專屬的文件夾為根目錄,這有助于代碼和資源的集中管理。為每個項目創建一個專用的虛擬環境,是Python開發的一個標準且必要的操作。本書后續的所有練習和項目,都將在獨立的虛擬環境中進?行。1.?創建第一個Python項目下面介紹在PyCharm中創建一個新的項目文件夾,并同時為這個項目配置一個專用的虛擬環境。這個環境將服務于該項目下的所有代碼文?件。(1)項目venv。(2)基礎conda。(3)自定義環境。可以將此選項理解為“高級模式”,它提供了更靈活的環境配置方式,包含“生成新的”和“選擇現有”兩個選項,如圖2-17所?示。2.?項目文件結構一個完整的Python項目,其文件夾結構通常包含以下兩個部?分。三、創建Python文件在PyCharm項目中,所有的Python代碼都需要在文件中編寫和保存。本節將介紹如何創建項目中最核心的文件類型—Python文件(.py文?件)。1.?Python文件/目錄類型Python項目中可創建的文件/目錄類型主要分為以下幾?種。四、運行Python文件編寫完代碼后,下一步就是執行代碼,觀察運行結果。PyCharm提供了多種靈活、便捷的方式來運行Python文件(.py腳?本)。任務二程序的調試一、兩類常見錯誤學習編程就像學習一門新的語言,難免會出現錯誤。在Python中,最常遇到的錯誤可以分為兩大類:語法錯誤和運行時錯誤(也叫異常)。理解它們的區別,能幫助學習者更快地找到并解決問?題。1.?語法錯誤(SyntaxError)語法錯誤,就像寫作文時出現的錯別字、標點符號用錯或語句不通順。它是指編寫的代碼不符合Python語言的基本規定和格式,這是初學者經常碰到?的錯誤。(1)忘記寫符號(2)使用了中文標?點(3)縮進不正確(IndentationError,是語法錯誤的一種特殊形?式)2.?運行時錯誤(Exception)運行時錯誤,也叫“異常”,指的是代碼的語法完全正確,但當程序運行到某一步時,因為一些特殊情況而無法繼續運行。就像一輛汽車本身沒有問題,但在路上遇到了死胡同,只能停下?來。程序會從第一行開始執行,直到錯誤的一行才會停止,并報告一個異常。程序停止時,會打印出錯誤的類型和原因,我們需要根據這些信息找到問題的根?源。(1)除數為零(ZeroDivisionError)(2)使用了未定義的變量(NameError)(3)類型不匹配(TypeError)(4)索引越界(IndexError)二、基本調試功能PyCharm不僅是一個代碼編輯器,更是一個強大的智能編碼助手。其最核心的功能之一,就是在編寫代碼的過程中,進行實時的靜態代碼分析。這意味著在嘗試運行程序之前,PyCharm就已經像一位經驗豐富的程序員一樣,審查了代碼,并指出了其中潛在的語法錯誤、風格問題和邏輯缺?陷。1.?發現問題這個功能主要通過編輯器窗口右上角的代碼分析狀態圖標和代碼中的高亮提示來體?現。2.?調試問題PyCharm不僅能發現問題,還能提供流暢的解決方?案。(1)實時高亮提示。(2)懸停查看詳情。(3)使用“問題”面板處理。三、斷點調試當程序能夠運行但結果錯誤時,就需要使用“斷點調試”來排查邏輯錯誤。斷點調試可以將程序暫停在代碼的任意位置(斷點),然后一步步地執行代碼,并實時查看每個變量在內存中的真實值,從而找到邏輯出錯的根?源。斷點調試的基本流程如下。1.設置斷點在希望程序暫停的代碼行號左側空白處,單擊鼠標左鍵,即可添加一個紅色圓點??,這就是斷點,如圖2-30所示。2.啟動調試會話單擊頂部工具欄的“調試”按鈕??(或按快捷鍵Shift+F9)來啟動程序。程序運行到第一個斷點處會自動暫停,并彈出底部的“調試”面板,在“線程和變量”選項下顯示該斷點之前的變量信息,如圖2-31所?示。3.使用調試控制器控制流程在“調試”面板頂部,有一組核心的控制按鈕,用于指揮程序的執?行。任務三包管理一、在PyCharm對話框中安裝第三方庫進行數據分析時,經常需要用到像NumPy和Pandas這樣的強大庫。一般情況下在PyCharm對話框中安裝后就可以直接使用?了。二、使用PyCharm的內置終端安裝PyCharm內置的“終端”工具是一個集成在PyCharm內部的命令窗口。使用終端來管理包,是很多經驗豐富的程序員更喜歡的方式,因為它更直接、更高效,并且能更清楚地查看完整的安裝過程信?息。1.?打開終端在PyCharm界面的左側最下方工具欄中,單擊“終端”按鈕,即可打開終端窗口,如圖2-39所?示。2.?常用包管理命令在已激活虛擬環境的終端中,主要使用pip命令來管理?包。(1)安裝第三方庫(pipinstall)。(2)安裝指定版本的庫。(3)卸載庫(pipuninstall)。(4)查看已安裝的庫(piplist)。(5)更新pip。1.教學以學生學習教材的基本內容為主,系統全面地學習PyCharm基礎知識的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章主要講解了PyCharm開發工具使用、程序調試方法與Python包管理核心知識,詳細介紹了PyCharm的下載安裝、環境配置、項目與Python文件創建及代碼運行的完整流程,區分了語法錯誤和運行時錯誤兩類常見編程問題,講解了PyCharm靜態查錯、斷點調試的實操方法,同時介紹了可視化界面和終端pip命令兩種第三方庫安裝管理方式,幫助學習者熟練掌握Python開發實操技能,為后續項目開發、代碼排錯和功能拓展提供實操支撐。《Python程序設計基礎項目化教程》課程教案課題:項目三?數據類型和程序設計教學目的:1.培養嚴謹求實的科學態度和職業精神,通過編寫精確、高效的代碼(如計算圓周率案例)2.解決實際問?題。3.在數據處理(如文本文件寫入、數據去重)中,強調數據安全與隱私保護意識,樹立正確的科技倫理?觀。4.通過自主探索解決編程難題,培養學生的創新精神和直面挑戰的良好品格。5.理解并掌握Python核心數據類型的定義、特點及適用場?景。6.熟練運用各種數據類型的創建、訪問、修改和刪除等基本操?作。7.能夠使用函數進行數據類型轉換,并格式化輸?出。8.能夠運用順序、分支和循環三種基本程序結構來設計和實現算?法。9.熟練使用條件語句、循環語句及控制流程。課型:新授課課時:本章安排6個課時。教學重點:重點:能夠使用函數進行數據類型轉換,并格式化輸?出。教學難點:難點:熟練使用條件語句、循環語句及控制流程。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題數據類型和程序設計課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境本項目聚焦于編程的兩個核心基礎:數據類型與程序結構。數據類型是程序能夠正確處理信息的前提。控制代碼執行邏輯包括三種基本方式—順序、分支和循環。本項目的學習,要求讀者能綜合運用這兩方面的知識,構建邏輯清晰、能夠解決簡單問題的規范程?序。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一數字類型一、數字類型分類數字類型是數學中常見的數據類型,是Python程序設計運行的基礎。在程序設計中,可根據需求定義不同的數字類型,也可對指定的數值進行類型轉?換。在Python中,數字(如整數、浮點數)屬于不可變類型。這意味著一個數字對象一旦創建,它的值就不能被修改。例如,先執行var=10,再執行var=20,并不是改變了數字10本身的值,而是讓變量var不再指向10,轉而指向了另一個值為20的數字對?象。1.?整數型在Python3中,整數型是int。與某些語言不同,Python的整數沒有固定的大小限制(如4個字節或8個字節)。它可以根據數字的大小自動擴展,以表示任意大的整數,其精度僅受限于計算機的內存。無論是三位數還是幾十位的超大數字,都可以用整數型來存?儲。2.?浮點型浮點型數據只采用十進制,有兩種形式:十進制數形式和指數形?式。(1)十進制數形式。(2)指數形式。3.?布爾型布爾型數據在Python中是一個非常重要的概念。布爾型數據只有兩個值,即真(True)和假(False)。在Python中,可以直接使用這兩個值,也可以通過布爾運算得到布爾型數?據。#直接定義布爾型變量bool_var1=Truebool_var2=False在Python中,bool是int的子類(繼承int),故True==1和False==0返回True。4.?復數型Python支持復數運算。復數在數學中通常寫作a+bi,其中a是實部,b是虛?部。注意:在Python代碼中,虛數單位使用j或J來表示,而不是數學中常用的i。(1)創建復數。(2)獲取實部和虛部。5.?數據輸入與輸出程序需要與用戶進行交互。Python提供了input()函數來獲取用戶輸入,print()函數用來向屏幕輸出信?息。二、數據類型轉換在程序運行過程中,經常需要將一種數據類型轉換為另一種。例如,通過input()函數獲取的數字是字符串類型,必須先將其轉換為整數或浮點數,才能進行數學運算。Python提供了一系列內置函數,便于在不同數據類型之間進行轉換,詳見表3-2。任務二數據容器一、字符串字符串是Python中最常用、最重要的數據類型之一。它本質上是一個由字符(如字母、數字、符號等)組成的有序序列,專門用來表示和處理文本信息。從一個簡單的名字、一條用戶消息,到一個網頁的全部內容或一個文件的路徑,在程序中都是通過字符串來呈現?的。1.?創建字符串2.?訪問和截取字符串中的值字符串是一個有序的字符序列,可以通過索引來訪問其中的特定字符,或者通過切片來截取一部分子字符?串。(1)訪問單個字符。(2)截取子字符串(切?片)。二、列表Python的列表(List)是一種有序且可變的數據集合。它使用中括號“[]”創建,元素之間用逗號“,”隔開。列表的一大特點是靈活性高,可以包含任意數據類型的元素,并且元素的數量和內容都可以在程序運行時被修?改。1.?列表定義2.?列表索引與切片列表中值的切片也可以用到變量[頭下標:尾下標],就可以截取相應的列表,從左到右索引默認從0開始,從右到左索引默認從-1開始,下標可以為空表示取到頭或?尾。3.?列表常用函數列表作為一種非常靈活的數據類型,支持多種多樣的操作。可以將這些操作分為兩大類:運算符與內置函數及列表專屬的方?法。三、區間在Python中,range()可以生成一個整數序列。它不是一個列表,而是一個特殊的、能夠按需生成數字的可迭代對象。函數調用格式如?下:四、元組元組(tuple)與列表類似,不同之處在于元組的元素不能修改。元組的創建包括兩種方?法。1.?直接創建2.?使用tuple()函數創建元組五、字典字典是Python中非常靈活且重要的數據結構。它是一個有序的、可變的鍵值對集合。與列表通過數字索引訪問元素不同,字典是通過唯一的“鍵”來查找對應的“值”,這使得它在存儲和查找關聯信息時極為高效。1.?使用大括號“{}”創建2.?使用dict.fromkeys()方法創建使用dict.fromkeys()方法可快速創建一個新字典,它會使用一個序列中的所有元素作為字典的鍵,并為這些鍵指定一個統一的初始值。3.?使用dict()構造函數創建使用dict()構造函數也是一種非常靈活的創建字典的方式,它支持多種不同的數據傳入格式。下面介紹幾種主要用?法。(1)通過關鍵字參數創建。(2)通過包含鍵值對的序列創建。(3)通過zip()函數組合鍵和值創建。4.?字典的基本操作創建字典后,可以對其進行查、改、增、刪等一系列常用操作。六、集合集合(set)是Python中一種重要的數據類型,它有兩個核心特點:集合中的元素沒有固定的順序,因此不能通過索引來訪問它們;集合中不允許包含重復的元素。這兩個特點使得集合在去重和測試成員關系時非常高?效。1.?創建集合在Python中,可以通過兩種主要方式來創建集合,它們分別適用于不同的場?景。(1)set()函數創建。(2)大括號“{}”創建。2.?修改集合Python的集合是可變的,所以它提供了一套豐富的方法,方便進行元素的添加、刪除等操作。表3-6總結了最常用的集合修改方?法。3.?集合的數學運算集合最強大的功能之一,在于能高效執行標準的數學集合運算,這在分析和處理兩組或多組數據之間的關系時非常實用。例如,可以快速找出同時選修兩門課程的學生(交集),或者合并兩個活動小組的所有成員并自動去重(并?集)。任務三程序結構一、表達式與語句在學習任何編程語言時,理解“表達式”和“語句”這兩個基本構件至關重要。可以用一個簡單的類比來理?解:● 表達式:如同一個有值的短語,如“2加2”。● 語句:如同一個執行動作的完整句子,如“把2加2的結果賦給變量x”。1.?表達式表達式是常量、變量、函數調用和運算符的組合,其最終會被Python“計算”出一個值。表達式的核心在于它總能返回一個結?果。2.?語句在Python中,每行代碼通常都是一個語句,它是程序執行的一個完整指令,比如賦值語句a=10或print()調用。簡單地說,一個語句是Python可以執行的一個完整指令,用于執行一個特定的動?作。最常見的語句類型如?下:(1)賦值語句。(2)表達式語句。二、順序結構順序結構是程序最基本、最自然的執行流程。在該結構中,代碼會嚴格按照從上到下的書寫順序逐行執行,不存在任何跳轉或重復執行的情?況。順序結構是所有程序的基礎,但僅依靠順序結構往往無法解決復雜問題。在很多情況下,需要根據特定條件判斷該執行哪部分代碼,此時就要用到接下來學習的選擇結?構。三、選擇結構選擇結構是指根據表達式值的情況來選擇執行哪些語句。通常在編寫較復雜的算法時會用到該結?構。其中較常用的是if-else結構,該結構也是復雜結構中最常用的一種分支結構。Python選擇結構分為單分支結構、二分支結構和多分支結構,它有以下三種形?式。1.?單分支結構:if2.?二分支結構:if-else3.?多分支結構:if-elif-else四、循環結構在利用Python進行數值實驗或工程計算時,用得最多的便是循環結構了。在循環結構中,被重復執行的語句組稱為循環體。常用的循環結構有兩種:for循環與while循環,下面分別介紹其用?法。1.?for循環2.?while循環五、程序的流程控制在利用Python編程解決實際問題時,有時不需要讓循環完整地執行到結束,而是需要提前終止for或while循環結構。例如,當我們在一個列表中查找某個數據時,一旦找到,就沒有必要再繼續檢查后面的元素了;在處理一批文件時,我們可能想跳過某些無效文件,只處理有效文件。為了實現這種提前終止或跳過某次循環的需求,Python提供了break和continue這兩個流程控制語?句。1.?break命令2.?continue命令1.教學以學生學習教材的基本內容為主,系統全面地學習數據類型和程序設計的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章重點講解了Python基礎核心知識,首先介紹了整數、浮點數、布爾、復數等基礎數字類型及數據類型轉換方法;其次系統學習了字符串、列表、元組、字典、集合等常用數據容器的特性、創建方式與核心操作;最后闡述了表達式與語句的區別,講解了順序、選擇、循環三大程序結構,以及break、continue流程控制語句,夯實了Python數據處理與程序邏輯編寫的基礎。《Python程序設計基礎項目化教程》課程教案課題:項目四?字符串操作教學目的:1.在進行數據清洗與格式化操作時,培養嚴謹務實、尊重數據的科學態度,做到一絲不?茍。2.習與運用正則表達式等高級工具時,培養解決復雜問題的創新精神與精益求精的工匠精?神。3.運用字符串對象的常用內置方?法。4.字符編碼與解碼的基本概念,掌握encode()方法和decode()方法的用?法。5.正則表達式的核心思想,掌握其常用元字符的語?法規則。6.運用re模塊的核心函數,實現高級文本模式匹?配。課型:新授課課時:本章安排6個課時。教學重點:重點:字符編碼與解碼的基本概念,掌握encode()方法和decode()方法的用?法。教學難點:難點:運用re模塊的核心函數,實現高級文本模式匹?配。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題字符串操作課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境高效處理文本是編程的核心技能之一。本章將系統講解Python強大的字符串操作能力:首先學習字符串自帶的內置方法,用于完成日常的文本清理、分割與替換任務;隨后深入學習正則表達式(re模塊),掌握基于復雜模式進行高級查找、驗證和修改的技術,為后續數據處理工作打下堅實基?礎。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一字符串的常用處理方法一、字符串的格式化與構建在處理字符串時,經常需要將變量的值嵌入一段固定的文本中,這個過程稱為“字符串格式化”。Python提供了多種實現方式,其中f-string是最便捷的一種,而Python3.14版本中新增的t-string則賦予其更強的靈活性和安全?性。1.?f-string:快速格式化2.?t-string:更安全靈活的模板二、查找、統計與判斷在處理文本數據時,經常需要對字符串進行分析,如定位特定子串、計算其出現頻率或判斷其是否符合預設的格式規范。為了滿足這些需求,Python為字符串對象提供了一系列功能強大的方法。這些操作的共同特點是它們不會改變原始字符串,而是返回一個全新的結果(如索引位置、計數值或布爾值),從而保證了數據的完整性和可預測?性。1.?查找與統計在字符串中進行查找、統計和替換操作是文本處理中最基礎也是最常用的一環,如在文檔中定位關鍵詞、統計詞頻或修正錯別字。Python為此提供了多個便捷的方法,具體功能如表4-1所示。2.?內容判斷這類方法用于判斷整個字符串是否符合某種特征(如純數字、純字母等),它們都返回布爾值True或False。在Python中,字符串內容判斷的方法如表4-2所示。三、修改、清理與替換當獲取到用戶輸入或從文件中讀取字符串時,數據往往不是我們期望的格式。可能存在多余的空格,大小寫不統一,或者需要將某些詞替換掉。Python字符串提供了一系列方法來輕松完成這些修改、清理和替換任?務。1.?字符串的清理清理字符串主要是指去除字符串首尾或中間多余的空白字符(包括空格、制表符“\t”、換行符“\n”等),這是數據預處理中非常常見的一步,具體方法如表4-3所示。2.?字符串大小寫的規范化在實際應用中,有可能需要對字符串中字母的大小寫進行轉換和比較,具體方法如表4-4所示。3.?字符串的替換替換是字符串處理中非常常見的操作,用于將字符串中的特定部分(子字符串)更換為新的內容。Python提供了多種方法來實現這一功能,具體方法如表4-5所示。其中最常用的是replace()方法。對于更復雜的單字符多點替換或移除,可以使用translate()方?法。四、分割與合并在處理文本數據時,我們經常需要將一個長字符串拆分成多個部分,或者反過來,將多個字符串組合成一個長字符串。例如,將一個句子分解為單詞列表,或者將一個單詞列表組合成一個完整的句子。Python提供了高效的方法來完成這兩項任?務。1.?字符串的分割分割是將一個字符串按照指定的分隔符切分成一個包含多個子字符串的列表,具體方法如表4-6所示。2.?字符串的合并合并是分割的逆操作,它使用一個指定的分隔符,將一個序列(如列表)中的所有字符串元素連接成一個新的、單一的字符串,具體可見表4-7。五、字符串編解碼計算機只能理解由0和1組成的字節,它并不認識人類使用的文字字符,如“A”“好”等。為了讓人們能看懂計算機語言,也讓計算機理解我們的指令,需要進行編碼和解?碼。1.?兩種文本類型:str與bytes可以把編碼想象成“加密”、解碼想象成“解密”,而編碼格式就是雙方約定好的“密碼本”。如果密碼本不一致,就會導致信息無法正確讀取,也就是常說的“亂?碼”。2.?str和bytes轉換方法Python為str和bytes對象分別提供了轉換方?法。(1)編碼。(2)解碼。3.?常見的編碼格式字符串編解碼用于保存數據和傳輸數據,中文輸入時若沒有進行正確的編解碼,很容易出現像亂碼一樣的字符串。編碼的格式與解碼的格式必須保持一?致。任務二re模塊高級文本匹配一、正則表達式常用元字符元字符是賦予正則表達式強大功能的特殊符號,它們不是匹配自身,而是有特殊的含義。掌握了它們,就等于學會了正則表達式的“字母?表”。1.?匹配單個字符這類元字符用于匹配某一特定類型的字符。它們通常是成對出現的,一個表示“匹配”,另一個(通常是大寫)表示“不匹配”。常用單字符匹配元字符如表4-8所示。3.?邊界匹配有時,不僅需要關注匹配的內容,還要關注它出現在字符串的哪個位置。邊界匹配元字符不匹配任何字符,只匹配特定的位?置。二、字符串查找查找是正則表達式最核心的應用。re模塊提供了幾個功能相似但各有側重的查找函數:findall()、search()、match()和finditer()等。1.?使用findall進行查找2.?使用search進行查找3.?使用match進行查找4.?使用finditer進行查找三、字符串替換字符串對象的replace()方法用于替換確定內容的固定子串。當替換目標需要通過一個抽象的模式來描述時,如替換所有數字或特定格式的日期,replace()方法便無法滿足需?求。四、字符串分割字符串對象的split()方法適用于按固定分隔符進行分割。然而,當分割依據是一個復雜的模式,或者需要同時處理多種不同的分隔符時,split()方法便顯得功能不?足。1.教學以學生學習教材的基本內容為主,系統全面地學習字符串操作的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章主要講解了Python字符串的全套處理方法與re模塊正則匹配技術,涵蓋f-string、t-string字符串格式化,以及字符串的查找判斷、清理替換、分割合并、編解碼等常用操作。同時介紹了正則表達式元字符的用法,以及re模塊的查找、替換、分割等高級文本處理功能,可高效完成復雜文本清洗與匹配任務,是Python數據預處理的核心技能。《Python程序設計基礎項目化教程》課程教案課題:項目五?函數與模塊化編程教學目的:1.通過學習將具體代碼封裝成抽象的函數,引導學生理解從具體到抽象的思維方式,培養化繁為簡、提綱挈領解決復雜問題的能?力。2.學習創建和使用模塊,讓學生認識到現代軟件開發是基于模塊化協作的工程活動,理解“高內聚,低耦合”的設計理念,為其未來參與團隊協作打下工程倫理和規范意識方面的基?礎。3.函數的定義與調用方?法。4.理解變量作用域(局部與全局)的概?念。5.熟練運用不同類型的函數參數(位置、默認、可變參?數)。6.初步了解模塊化編程思想,學會創建并使用自己的模?塊。課型:新授課課時:本章安排6個課時。教學重點:重點:理解變量作用域(局部與全局)的概?念。教學難點:難點:熟練運用不同類型的函數參數(位置、默認、可變參?數)。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題函數與模塊化編程課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境在之前的項目中,編寫的代碼都是按從上到下的順序執行的。當程序變得復雜時,這種方式會導致代碼冗長且難以維護。本章將學習程序設計的核心利器—函數。函數能將特定功能的代碼塊封裝起來,方便我們隨時調用,就像積木一樣。通過對定義函數、傳遞參數的學習,和對變量作用域的理解,我們將學會編寫更簡潔、更結構化的程序。最終,我們還會學習如何將自己編寫的函數組織成一個模塊,為構建大型項目打下堅實的基?礎。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一函數的定義與使用一、定義與調用函數函數是一段封裝了特定功能、可以重復使用的代碼塊。Python內置了許多有用的函數(如print()、len()),用戶可以根據需要創建,這被稱為自定義函?數。1.?函數的定義使用def關鍵字來定義一個函數。2.?函數的調用定義函數后,通過“函數名()”的形式來調用?。二、變量的作用域變量的作用域是指變量能夠生效的范圍。在函數內外定義的變量,其作用范圍是不同?的。1.?局部變量在函數內部定義的變量,就是局部變量。它只在當前函數內部有效,函數執行結束后就會被銷?毀。2.?全局變量在函數外部(通常是程序的頂層)定義的變量,就是全局變量。它在整個程序范圍內都有?效。任務二函數的參數一、位置參數與關鍵字參數參數的傳遞方式會直接影響代碼的靈活性與可讀性。為了讓函數調用更加精確和易于理解,Python提供了兩種最主要的參數傳遞機制:位置參數與關鍵字參?數。1.?位置參數位置參數是Python函數中最基礎、最常用的參數類型。它的核心規則是:調用函數時,提供的實參會嚴格按照前后順序,依次賦值給函數定義中對應的形?參。2.?關鍵字參數關鍵字參數是Python提供的另一種向函數傳遞參數的方式。它通過“形參名=實參值”的格式來指定每個實參應該賦值給哪個形參。使用關鍵字參數無須依賴參數的位置順序,而是通過形參的名稱進行精確匹配,從而使函數調用更加清晰,可讀性更?高。3.?混合使用:位置參數與關鍵字參數二、默認參數在定義函數時,可以為某些參數提供一個默認值。如果在調用函數時,調用者沒有為該參數提供新的實參,那么Python解釋器就會自動使用這個預設的默認?值。這種機制使得函數在調用某些參數時成為可選項,極大地增加了靈活性。但需要注意的是,默認參數的定義必須遵守一條嚴格的語法規則:所有默認參數都必須位于位置參數(必選參數)之?后。三、可變參數在前面章節中,定義的函數都有固定數量的參數。然而,在實際編程中,常常會遇到一種情況:無法預先確定要傳遞給函數的參數有多少個。例如,編寫一個求和函數,它既能計算sum(1,2),也能計算sum(1,2,3,4,5)。為了解決這類問題,Python提供了可變參數機制:向函數傳遞任意數量的參數。Python主要支持兩種類型的可變參?數:● *args:用于接收任意數量的位置參?數。● **kwargs:用于接收任意數量的關鍵字參?數。1.?*args在函數定義的參數名前加上一個星號“*”,該參數就會變成一個“可變位置參數”。它會收集所有在調用時傳入的多余的、未被其他形參接收的位置參數,并將它們打包成一個元組(tuple)。按照慣例,通常將其命名為*args(arguments的縮寫),但這并非強制,*numbers或*values也是完全合法的。關鍵在于參數名前的星號“*”。2.?**kwargs任務三模塊化編程一、創建與使用模塊通常情況下,可以將一組相關的函數和變量定義在一個模塊文件中,然后在另一個主程序文件中通過關鍵字“import”導入并使用它?們。(1)創建模塊文件。(2)創建主程序文件。二、不同的導入方式除了import模塊名,Python還提供了其他導入方式,以滿足不同的需?求。1.?from...import...語句2.?使用as指定別名1.教學以學生學習教材的基本內容為主,系統全面地學習函數與模塊化編程的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章主要介紹了Python函數與模塊化編程知識,講解了自定義函數的定義與調用方法、局部變量和全局變量的作用域區別。詳細闡述了位置參數、關鍵字參數、默認參數以及*args、**kwargs可變參數的使用規則,同時介紹了模塊的創建、導入及別名設置等模塊化編程技巧,幫助實現代碼復用與程序結構化,提升代碼規范性與可維護性。《Python程序設計基礎項目化教程》課程教案課題:項目六?面向對象編程入門教學目的:1.學習將現實事物抽象為程序中的“類”,引導學生建立系統性思維,培養化繁為簡、解決復雜問題的能?力。2.通過學習“封裝”與“多態”,理解規則與接口在系統協作中的重要性,培養學生在團隊協作中的責任感和規范意?識。3.通過學習“繼承”,引導學生認識到創新應建立在繼承優秀成果的基礎上,樹立正確的守正創新觀?念。4.理解類(class)與對象(object)的概?念。5.理解__init__構造方法和self參數的核心作?用。6.掌握定義一個基本類的方法,包括屬性和方法的創?建。7.初步掌握面向對象的三大特性:封裝、繼承與多?態。課型:新授課課時:本章安排6個課時。教學重點:重點:理解類(class)與對象(object)的概?念。教學難點:難點:初步掌握面向對象的三大特性:封裝、繼承與多?態。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題面向對象編程入門課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境在之前的學習中,編寫程序更像是一系列步驟的清單,告訴計算機“先做什么,再做什么”。這種方式在處理簡單任務時很有效。但是,當程序需要處理復雜的事情時,比如管理一個班級的學生信息,這種“清單式”的寫法就會變得混?亂。面向對象程序設計(Object-OrientedProgramming,簡稱OOP)提供了一種更符合我們日常思維的編程方式。它的核心很簡單:把程序看作是不同“事物”的組合,而不是步驟的組合。這不僅能讓代碼結構更清晰、更易于管理,也是編寫大型、復雜程序的必備技?能。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一類與對象的基礎一、類與對象在之前的編程中,使用的變量和函數是分開的。例如,要記錄一個學生的信息,可能需要定義多個變量:student_name="張三"、student_age=18、student_score=95。學生數量越多,管理這些零散的變量就會越麻?煩。面向對象編程可以解決這個問題,它的核心是將相關的數據與操作這些數據的功能組織在一起,這就需要用到類與對?象。1.?類(Class)類是一種自定義的數據類型結構,作用是規定一類事物包含的數據項以及可對這些數據執行的操?作。例如,可以定義一個Student類,規定“學生”這類數據必須包含“姓名”“年齡”和“成績”等信?息。類本身只是一種結構定義,不包含任何具體的數據。它是一個抽象模板,用于描述具有共同特征和行為的一類實?體。以“學生”為例,可以將其抽象成一個Student類:● 共同特征(屬性):所有學生都有姓名、年齡、成績等信息,將這些信息定義為類的屬?性。● 共同行為(方法):所有學生都能進行“自我介紹”或“查詢成績”等操作,將這些操作定義為類的方?法。一旦定義了Student這個抽象的類,就可以根據它創建無數個具體的“學生”對象,如“張三”對象、“李四”對象,每個對象都擁有自己獨立的屬性?值。2.?對象(Object)對象是根據類的規定創建的具體實例。如果說Student類是一種我們自定義的數據類型,那么一個具體的學生,比如“張三”,就是這個類型的一個變量,這個變量就叫作對?象。二、類的定義在Python中,使用class關鍵字來定義一個類。類定義了創建的數據類型的結構和功?能。三、創建對象(實例?化)定義類之后,就相當于有了一種新的數據類型。接下來,要學習如何使用這個類來創建具體的變量,也就是對?象。四、構造方法_init_和self在案例2中,我們創建了兩個“空”的學生對象,它沒有任何具體信息,如姓名、年齡等。為了在創建對象的同時就賦予它初始數據,需要使用一個特殊的方法—構造方?法。1.?構造方法__init__2.?self參數3.?在__init__中定義屬性五、屬性和方法類是屬性和方法的集合。對象被創建后,就擁有了這些屬性和方法。這種將數據和操作數據的功能打包在一起的組織方式,是面向對象編程的核心,它能讓程序結構更加清晰、易維?護。1.?屬性屬性是存儲在對象內部、用于描述對象具體特征的數據。例如,對于一個Student對象,它的屬性可以包括姓名、年齡、學號、成績等。對于一個Car對象,它的屬性可以包括顏色、品牌、型號等。使用屬性最大的好處是,所有與某個對象相關的數據都被集中存儲在對象自身。例如,student1對象包含了全部信息(姓名、年齡等),無須額外管理一堆分散的變量?。2.?方法前面已經學習了屬性,它負責存儲對象的數據。但光有數據,程序還是不夠強大。還需要定義一些功能,來操作和處理這些數?據。任務二面向對象的三大特性一、封裝封裝是面向對象的特征之一,是對象和類概念的主要特性。封裝是把客觀事物封裝成抽象的類,類可以只讓可信的類或對象操作自己的數據和方法,并對不可信的類或對象進行信息隱藏。例如,你的銀行賬戶里有多少錢(數據),銀行是不會讓任何人直接修改的。必須通過銀行提供的固定操作,如“存款”或“取款”(功能),才能安全地改變余額。這兩個操作就類似于面向對象編程中的封?裝。封裝的最大好處是提高了代碼的安全性。就像銀行的制度保護了資金安全一樣,封裝也保護了程序中的數據不被意外地弄?亂。在Python中,通過一個簡單的命名約定即可實現封裝和信息隱?藏。1.?類的私有屬?性如果希望某個屬性不被外部直接訪問,可以在定義它時,在屬性名前加上兩個下畫線__。格式為self.__private_attribute。聲明該屬性為私有。在類的外部,你無法通過對象名.__private_attribute的方式來訪問它。在類的內部,其他方法仍然可以通過self.__private_attribute來正常使用這個屬?性。2.?類的私有方?法同理,如果某個方法只希望在類的內部被其他方法調用,不希望外部直接使用,可以在方法名前加上兩個下畫線__。格式為def__private_method(self)。聲明該方法為私有。在類的外部,你無法通過“對象名.__private_method()”的方式來調用它。在類的內部,其他方法可以通過“self.__private_method()”來調用這個私有方法。私有方法通常用來輔助完成某個公開方法內部的、比較復雜的子任?務。二、繼承繼承的核心是將子類共有的屬性和行為抽象到父類中,子類僅定義自身特有的屬性和行為,以此實現代碼的復用,從而提高開發效率。Python同樣支持類的繼承,即便一種語言不支持繼承,類本身也依然具備封裝等價值,并非沒有意?義。1.?派生類是利用繼承機制從已有的類中派生出的新類,用于派生的原有類,則被稱為該派生類的基類(或父類)。2.?多繼承三、多態在面向對象編程(OOP)中,多態是指不同類的對象可以通過統一的接口進行操作,而這些對象各自的邏輯響應同一消息或方法調用。多態性使程序具有更好的靈活性和擴展性,可以在不修改現有代碼的情況下新增同類型的對?象。在Python中,多態通常是通過繼承和子類重寫父類的方法來實現的。實現多態的步驟如?下。(1)定義一個基類(父類),其中包含需要被繼承的方?法。(2)定義多個子類(派生類),每個子類都繼承自基類,并重寫基類中的方?法。(3)創建一個函數或方法,該函數或方法接受基類作為參數,并在函數內部調用基類的方?法。(4)將不同的子類實例傳遞給該函數或方法,實現多態?性。(1)啟動PyCharm,打開名為“yuanwenjian”的項目,在該項目下的ch_06中新建一個名為“python06_08.py”的Python文?件。1.教學以學生學習教材的基本內容為主,系統全面地學習面向對象編程入門的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章講解了Python面向對象編程的核心知識,介紹了類與對象的概念、類的定義、對象實例化、構造方法與self參數,區分了對象屬性與方法。同時重點講解了面向對象三大核心特性:封裝可隱藏內部數據、保障代碼安全;繼承可復用父類代碼、提升開發效率;多態通過重寫方法實現統一接口多種實現,有效增強了程序的靈活性與擴展性。《Python程序設計基礎項目化教程》課程教案課題:項目七?科學計算與數據分析基礎教學目的:1.在處理大規模數據時,體會計算機科學的效率與魅力,培養學生利用技術工具解決實際問題的創新精?神。2.通過學習結構化數據處理,培養學生嚴謹的邏輯思維和注重細節、精益求精的工匠精?神。3.掌握NumPy庫的N維數組、向量化運算、索引與切?片。4.掌握Pandas庫的Series(一維帶標簽數組)和DataFrame(二維表?格)操作。課型:新授課課時:本章安排6個課時。教學重點:重點:掌握NumPy庫的N維數組、向量化運算、索引與切?片。教學難點:難點:掌握Pandas庫的Series(一維帶標簽數組)和DataFrame(二維表?格)操作。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題科學計算與數據分析基礎課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境在日常編程中,Python的列表可以處理小規模的數據。但當需要對成千上萬個數字進行高效的數學運算,或者像操作Excel一樣管理復雜的表格數據時,就需要更專業的工具。本章將重點學習兩個Python數據處理的核心第三方庫:NumPy和Pandas。先學習NumPy庫,掌握其創建高性能數組及進行快速批量計算的方法。在此基礎上,再學習Pandas庫,利用其強大的DataFrame表格結構,進行更復雜的數據管理、選擇和初步分析,為進入數據處理領域打下堅實的基?礎。參考以下形式:1.銜接導入2.懸念導入3.情景導入4.激疑導入5.演示導入6.實例導入7.其他形式任務一科學計算—NumPy一、創建NumPy數組學習NumPy的第一步,就是掌握如何創建其核心的數據結構—ndarray對象。NumPy提供了多種靈活的創建方式,以適配不同的需?求。1.?array函數這是最基礎、最直接的創建方式,它可以將Python的列表(list)、元組(tuple)等序列類型的數據轉換為NumPy數組。2.?內置函數快速生成數組當需要創建有規律的或特定結構的數組時,手動創建列表會很麻煩。NumPy為此提供了多種函數,可以快速生成數組,如表7-1所示。二、查看數組的基本屬性創建數組后,可以通過數組的屬性來查看它的基本信息,NumPy數組的ndarray對象屬性如表7-2所示。三、數組運算與索引在學會了如何創建和查看NumPy數組之后,接下來學習如何高效地操作和訪問數組中的數據。這主要通過兩個核心機制來實現:向量化運算和索引與切?片。1.?向量化運算向量化是NumPy最核心、最強大的特性,它可以直接對整個數組執行數學運算,無須通過for循環來逐個處理元?素。主要運算類型如?下:(1)數組與標量(單個數字)的運算。當一個數組與一個單獨的數字進行運算時,這個數字會自動“廣播”到數組的每個元素,并逐個進行運?算。arr+5(每個元素都加5)arr*10(每個元素都乘以10)arr>80(每個元素與80進行比較,返回一個布爾類型的數組)(2)形狀相同的數組之間的運算。當兩個數組的形狀完全相同時,運算會按對應位置的元素逐一進?行。arr1+arr2(對應元素相加)arr1*arr2(對應元素相乘)(3)常用聚合函數。NumPy內置了豐富的統計聚合函數,對整個數組或數組的指定軸進行計算,常用聚合函數如表7-3所示。2.?索引與切片索引與切片是從數組中選取我們感興趣的數據的核心手段。NumPy的索引機制與Python列表類似,但功能更強大(尤其是在處理多維數組?時)。(1)一維數組的索?引。(2)二維數組的索?引。任務二數據分析—Pandas一、一維數組SeriesSeries是Pandas中最基礎的數據結構。可以把它想象成“智能版”的一維數組或Excel表格中的一列。它由如下兩部分組?成。● 一組數據(values),其底層通常是一個NumPy數?組。● 一組與之對應的數據標簽(index),也就是索?引。這個帶標簽的索引是Series最核心的特性,能夠使用有意義的標簽(而不僅是0,1,2...)來訪問和操作數?據。1.?創建Series2.?屬性與帶標簽的索引創建Series對象后,可以通過使用它的索引來便捷地訪問數據,Series常用屬性如表7-5所示。3.?Series的常用操作Series不僅是一個帶標簽的數據容器,它還內置了大量便捷的方法,用于數據操作和分?析。1)數據訪問與篩選。2)常用數學與統計函數。3)檢查缺失值與排序。二、二維數組DataFrameDataFrame是Pandas庫的核心組件,也是Python數據分析中最常用、最重要的二維數據結構。它是一種表格型的、大小可變的結構,專門用于高效地處理結構化和半結構化數據。其顯著特點是能夠容納異構數據,即每列可以是不同的數據類型,如整數、浮點數或字符串。DataFrame最重要的特性是其帶標簽的軸,它同時擁有行索引(index)和列索引(columns),這為數據的選擇、對齊和操作等任務提供了極大的靈活性和便利性。從概念上講,一個DataFrame可以被視為一個由多個共享相同行索引的Series對象組成的字典,這種面向列的設計使得相關操作更加高?效。1.?創建DataFrame2.?查看DataFrame的整體信息3.?選擇與訪問數據1.教學以學生學習教材的基本內容為主,系統全面地學習科學計算與數據分析基礎的基本內容。2.整個教學過程中,各教學點可根據實際情況,進行拓展知識的講解。本章小結:本章主要學習了Python數據分析兩大核心庫:NumPy與Pandas。NumPy重點講解了ndarray數組的創建、屬性查看、向量化運算及索引切片操作,實現高效數值計算。Pandas則介紹了一維結構Series和二維表格結構DataFrame的創建、屬性查詢與數據訪問、篩選、統計等基礎操作,為后續結構化數據處理與數據分析奠定了核心基礎。《Python程序設計基礎項目化教程》課程教案課題:項目八?表格和文檔操作教學目的:1.培養學生靈活運用編程知識解決實際問題的能力,鼓勵舉一反三,探索更高效的自動化辦公方法,提升工作效?率。2.在自動化生成格式美觀、布局合理的文檔過程中,提升學生的職業審美素?養。3.熟練運用python-docx庫完成“創建文檔”→“添加段落與文字”→“保存文檔”的基本操?作。4.能夠對指定的文字(Run)進行精細化格式設置,以突出重點內?容。課型:新授課課時:本章安排6個課時。教學重點:重點:熟練運用python-docx庫完成“創建文檔”→“添加段落與文字”→“保存文檔”的基本操?作。教學難點:難點:能夠對指定的文字(Run)進行精細化格式設置,以突出重點內?容。教學過程:教學形式:采用課堂講授、案例研討與隨堂習題相結合的混合式教學形式,兼顧理論講解與互動思考。教學媒體:依托多媒體課件、線上學習平臺以及素材開展直觀化教學,輔助知識點理解。板書設計:本課標題表格和文檔操作課次3授課方式理論課□討論課□習題課□其他□課時安排6學分共2分授課對象普通高等院校學生任課教師教材及參考資料1.《Python程序設計基礎項目化教程》;電子工業出版社。2.本教材配套視頻教程及學習檢查等資源。3.與本課程相關的其他資源。教學基本內容教學方法及教學手段項目情境在現代辦公和數據處理中,我們最常接觸的文件類型是表格(如Excel)和文檔(如Word)。手動處理這些文件不僅效率低下,而且容易出錯。Python憑借其強大的第三方庫生態,提供了全自動處理此類文件的能力,能將我們從煩瑣的重復勞動中解放出來。本項目將帶你
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教科版第一單元第二框 數據與計算(教學設計)
- 五年級下冊美術教學設計-我設計的圖書封面 蘇少版
- 魯科版高中化學必修1第3章自然界中的元素第4節 海水中的元素第2課時教學設計1
- 政治(道德與法治)第三單元美好生活哪里來7我們的衣食之源教學設計
- 2026年物流物聯網應用師考試題庫及答案
- 新疆烏魯木齊初中體育 第十一周《足球-熟悉球性》教學設計 人教新課標版
- 新教材高中生物 第1章 種群及其動態 3 影響種群數量變化的因素教學設計 新人教版選擇性必修2
- 高中生物 專題2 細胞工程 2.1 第1課時 植物細胞工程的基本技術教學設計 新人教版選修3
- 2026年呼和浩特中小學教師招聘試題(含答案)
- 2026年初中英語教師職業題
- 道化學(火災爆炸危險指數評價法)
- 電子元器件代理合同模板(精美合同協議模板)
- 水輪機旋轉油盆內甩油原因分析與處理
- 廣東省2021年中考真題數學試卷(原卷和解析版)
- 酒店明住宿清單(水單)
- JTJ 003-1986 公路自然區劃標準正式版
- 拉桿鋼結構雨篷計算
- 人工智能心得體會
- 面癱(面神經炎)精深中醫臨床路徑
- JJF 1915-2021傾角儀校準規范
- GB/T 5211.14-2021顏料和體質顏料通用試驗方法第14部分:篩余物的測定機械沖洗法
評論
0/150
提交評論