




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python程序設計與人工智能項目教程第1章Python基礎知識第2章
數字類型與運算第3章
流程控制第4章
函數第5章
高級數據類型及常見操作第6章
字符串
第7章
元組和列表第8章
集合與字典第9章
文件操作第10章
面向程序設計基礎第11章Matplotlib數據可視化第12章Python生態應用全套可編輯PPT課件
本課件是可編輯的正常PPT課件第一章Python基礎05CONTENTS目錄順序結構02流程控制基礎01分支結構03循環結構01040105流程跳轉語句異常處理異常處理項目實訓:學生畫像系統構建0607本課件是可編輯的正常PPT課件實例1-1:以交互方式編寫與運行程序實例1-2:以文件方式編寫與運行程序實例1-3:使用PyCharm的基本流程實例1-4:使用JupyterNotebook的基本流程實例1-6:AI模型構建項目的語法辨析實例1-7:輸出系統運行狀態問卷調查——收集用戶反饋實例1-8:將模型預測結果格式化為易于理解的報告項目實訓:個人名片設計應用案例本章案例概覽01Python語言概述本課件是可編輯的正常PPT課件Python語法簡潔明了,代碼可讀性強,易于理解和學習,適合初學者快速上手。例如,與其他語言相比,Python用縮進代替大括號,使代碼結構清晰,減少了語法錯誤。語法簡潔易讀Python擁有豐富的標準庫和第三方庫,如Pandas用于數據分析,TensorFlow用于AI開發。這些庫提供了強大的功能,開發者無需從頭編寫大量代碼,提高了開發效率。豐富的庫資源Python具有良好的跨平臺性,可在Windows、Linux、Mac等多種操作系統上運行。同時,Python社區活躍,開發者可以輕松找到大量學習資源和解決方案。跨平臺與社區支持Python的特點本課件是可編輯的正常PPT課件數據科學在數據科學領域,Python的Pandas庫用于數據處理和分析,NumPy庫用于數值計算。Matplotlib庫則用于數據可視化,幫助研究人員和分析師直觀地展示數據結果。Django和Flask是Python的兩大Web開發框架,Django適合大型項目,提供了豐富的功能和安全性。Flask則更加靈活,適合小型項目和微服務架構,開發者可以根據需求快速搭建Web應用。Web開發TensorFlow和PyTorch是Python在人工智能領域的兩大主流框架,廣泛應用于深度學習模型的構建和訓練。這些框架提供了豐富的API和工具,支持開發者進行復雜的神經網絡設計和優化。人工智能應用領域本課件是可編輯的正常PPT課件Python的開源特性促進了全球開發者社區的協作,加速了技術的創新和發展。開源項目和代碼共享平臺如GitHub,為開發者提供了學習和交流的機會。開源共享推動創新Python在多個領域的廣泛應用,推動了不同學科和技術的融合,如數據科學與人工智能的結合。這種跨領域融合為解決復雜問題提供了新的思路和方法。跨領域融合趨勢Python語言和相關技術不斷發展,開發者需要持續學習新知識,跟上技術發展的步伐。參加培訓課程、閱讀技術書籍和博客、參與開源項目等都是有效的學習方式。持續學習的重要性發展啟示本課件是可編輯的正常PPT課件02開發環境配置本課件是可編輯的正常PPT課件官網下載與安裝訪問Python官網,下載適合自己操作系統的安裝包,安裝過程中勾選“AddtoPATH”選項。這樣可以將Python添加到系統環境變量,方便在命令行中直接調用。驗證安裝安裝完成后,打開命令行工具,輸入python命令,若能進入Python交互模式,則表示安裝成功。在交互模式中可以輸入Python代碼進行測試,如print("Hello,World!")。版本管理工具使用版本管理工具如pyenv或conda,可以方便地管理不同版本的Python環境。這對于開發和維護多個項目,特別是需要不同Python版本的項目非常有幫助。Python解釋器安裝本課件是可編輯的正常PPT課件PyCharmPyCharm是一款專業的Python集成開發環境,支持代碼補全、調試、版本控制等功能。它提供了豐富的插件,可以擴展功能,如支持Django、Flask等框架的開發。JupyterNotebookJupyterNotebook是一個交互式的編程環境,適合數據分析和教學。它支持Markdown和代碼的混合編寫,可以方便地展示分析過程和結果。VSCodeVSCode是一款輕量級的代碼編輯器,通過安裝Python插件,可以支持Python開發。它具有良好的性能和豐富的擴展功能,適合多種編程語言的開發。IDE工具本課件是可編輯的正常PPT課件03基礎語法本課件是可編輯的正常PPT課件03.01.02.命名規則Python標識符的命名規則是:必須以字母或下劃線開頭,不能以數字開頭,區分大小寫。例如,variable_name是合法的,而1variable是非法的。常見關鍵字Python中有一些保留的關鍵字,如if、for、while等,這些關鍵字不能用作變量名。了解和正確使用關鍵字是編寫正確Python代碼的基礎。命名規范變量名通常采用蛇形命名法,如student_name;類名采用駝峰命名法,如StudentInfo。良好的命名規范可以使代碼更加易讀,方便團隊協作。標識符與關鍵字本課件是可編輯的正常PPT課件縮進的作用Python使用縮進來定義代碼塊,如if語句、for循環等。縮進是強制性的,必須使用4個空格,不能使用制表符或空格混合縮進。代碼塊的定義例如,在if語句中,條件判斷后的代碼塊需要縮進,表示這部分代碼屬于if語句的執行體。縮進的正確使用可以使代碼結構清晰,避免邏輯錯誤。縮進的注意事項在編寫代碼時,要注意保持一致的縮進風格,避免因縮進問題導致代碼無法正常運行。如果使用IDE工具,通常會自動處理縮進,但開發者也需要了解縮進規則。縮進與代碼結構本課件是可編輯的正常PPT課件01Python支持單行注釋和多行注釋,單行注釋以#開頭,多行注釋使用三引號"""或'''。注釋可以用來解釋代碼的功能和邏輯,方便其他開發者閱讀和理解。注釋的類型02Python社區制定了PEP8編碼規范,建議開發者遵循,如行長度不超過79個字符,合理使用空行分隔邏輯塊。循編碼規范可以使代碼更加整潔、易讀,提高代碼質量。編碼規范03使用代碼格式化工具如autopep8或black,可以自動將代碼格式化為符合PEP8規范的樣式。這有助于保持代碼的一致性和可讀性,減少因格式問題引起的人為錯誤。格式化工具注釋與編碼規范本課件是可編輯的正常PPT課件04人機交互本課件是可編輯的正常PPT課件input()函數input()函數用于獲取用戶輸入,返回的是字符串類型,需要根據需要進行數據類型轉換。例如,age=int(input("Enteryourage:"))獲取用戶輸入的年齡并轉換為整數。print()函數print()函數用于輸出內容到控制臺,支持多參數、分隔符sep和結尾符end。例如,print("Hello","World",sep="-",end="!")輸出Hello-World!。輸入輸出的注意事項要注意用戶輸入的合法性,如輸入是否符合預期的數據類型和格式。對于非法輸入,應該進行適當的錯誤處理和提示。輸入輸出函數本課件是可編輯的正常PPT課件%操作符使用%操作符進行格式化輸出,如"Name:%s,Age:%d"。這種方式簡單直觀,但不夠靈活,不支持復雜的格式化操作。format()方法format()方法提供了更靈活的格式化方式,如"Name:{},Age:{}".format(name,age)。它支持位置參數和關鍵字參數,可以根據需要調整格式化的內容和順序。f-stringf-string是Python3.6引入的一種新的格式化方式,使用f"Name:{name},Age:{age}"。它簡潔高效,可以直接在字符串中嵌入變量和表達式,是推薦的格式化方式。格式化輸出本課件是可編輯的正常PPT課件05項目實訓——個人名片生成本課件是可編輯的正常PPT課件通過input()函數獲取用戶的姓名、職位、聯系方式等信息。例如,name=input("Enteryourname:")獲取用戶姓名。輸入模塊根據用戶選擇的名片風格(簡約、現代等),使用字符串格式化生成名片內容。例如,使用f-string生成簡約風格的名片:f"Name:{name}\nPosition:{position}"。生成模塊將生成的名片內容寫入文件business_card.txt,使用文件操作函數完成保存。例如,withopen("business_card.txt","w")asfile:將名片內容寫入文件。保存模塊項目流程本課件是可編輯的正常PPT課件增加GUI界面支持批量生成添加預覽功能使用Tkinter庫為名片生成程序添加圖形用戶界面,方便用戶操作。例如,創建一個窗口,包含輸入框和按鈕,用戶點擊按鈕生成名片。修改程序邏輯,支持用戶批量輸入名片信息,一次性生成多個名片。例如,從文件中讀取多組名片信息,然后批量生成并保存。在生成名片之前,為用戶提供預覽功能,讓用戶確認名片內容無誤后再保存。例如,在GUI界面中顯示預覽區域,用戶可以查看生成的名片效果。優化方向本課件是可編輯的正常PPT課件通過本項目,學習了Python的輸入輸出、文件操作、字符串格式化等基礎語法。理解了程序的基本結構和流程,掌握了如何將所學知識應用到實際項目中。項目收獲項目改進項目拓展本項目可以作為基礎,拓展到其他類似的文本生成項目,如簡歷生成、報告生成等。通過不斷實踐和改進,提高編程能力和項目開發經驗。在項目開發過程中,發現了一些可以改進的地方,如增加錯誤處理機制,提高程序的健壯性。未來可以進一步優化程序功能,增加更多實用的功能和特性。項目總結本課件是可編輯的正常PPT課件謝謝大家本課件是可編輯的正常PPT課件第二章數字類型與運算本課件是可編輯的正常PPT課件CONTENTS目錄運算符與表達式0201數字類型01數學運算函數03math模塊及其應用010401050501項目實訓:競賽積分數據分析及預測本課件是可編輯的正常PPT課件實例2-1:計算產品優惠價實例2-2:字母變現實例2-3:計算線性插值實例2-4:計算貸款額度實例2-5:計算存款本息和實例2-6:分析股票價格實例2-7:計算圓的周長實例2-8:計算炮彈發射位移實例2-9:使用三角函數進行圖像的感知與識別的預處理項目實訓:競賽積分數據分析及預測——創新爭先應用案例本章案例概覽本課件是可編輯的正常PPT課件01數字類型常見數字類型復類型復數類型(complex)用于表示復數,即包含實部和虛部的數字,如1+2j、-3-4j等。復數類型支持完整的復數運算,包括加法、減法、乘法和除法等操作,在信號處理、量子力學、電氣工程等需要復雜數學建模的場景中具有重要的應用價值。整數類型整數類型(int)用于表示正整數、負整數和0,如10、-10、0等。Python的整數類型不受大小限制,僅受計算機內存大小的約束,其精確性和高效性非常適合用于計數、索引及需要精確數值計算的場景。浮點數類型浮點數類型(float)用于表示帶小數部分的數字,如9.8、3.14159等。Python使用雙精度浮點數表示法,能夠表示非常大或非常小的數值,但因采用二進制浮點數表示法,精度有限,可能會出現微小的精度誤差,如0.1+0.2的結果為0.30000000000000004。使用type()函數type()函數用于返回對象的類型。通過將變量當作參數傳遞給type()函數,可以獲取該變量的類型。在實際的Python編程中,數字類型的判斷常用于數據驗證、類型轉換和條件判斷等場景。。判斷的應用場景isinstance()函數用于檢查對象是否屬于指定類型。與type()函數相比,isinstance()函數更靈活,支持檢查對象是否屬于多個類型之一。數字類型判斷使用isinstance()函數將浮點數或整數類型的字符串轉換為一個整數。int函數將整數或浮點數類型的字符串轉換為一個浮點數。float函數將復數類型的字符串轉換為一個復數。。complex函數數字類型轉換02運算符與表達式常用的運算符與表達式算術運算符01符號名稱算術運算符實
例解釋(假設變量a=10,b=3)加+a+b兩個數字相加,結果為13減-a-b兩個數字相減,結果為7乘*a*b兩個數字相乘,結果為30除/a/b兩個數字相除,結果為3.33(保留兩位小數)整除//a//b兩個數字整除,結果為3取模%a%b模運算,結果為1取正/取負+/-+a、-b符號運算,結果為10和-3冪**a**b冪運算,結果為100002比較運算符符號名稱比較運算符實
例解釋(假設變量a=8,b=5)等于==a==ba和b是否相等,結果為False不等于!=a!=ba和b是否不相等,結果為True大于>
a>ba是否大于b,結果為True小于<
a<ba是否小于b,結果為False大于等于>=a>=ba是否大于或等于b,結果為True小于等于<=a<=ba是否小于或等于b,結果為False常用的運算符與表達式位運算符03邏輯運算符04符號名稱比較運算符實
例解釋(假設變量a=0b1010,b=0b1100)按位與&a&ba和b進行與操作,結果為0b1000按位或|a|ba和b進行或操作,結果為0b1110按位異或^a^ba和b進行異或操作,結果為0b0110按位取反~a~ba取反,結果為-0b1011左移<<
a<<ba左移2位,結果為0b101000右移>>
a>>bb右移1位,結果為0b0110符號名稱邏輯運算符實
例解釋(假設變量a=True,b=False)邏輯與andaandb只有當a和b都為True時,結果才是True,否則結果為False。此實例的結果為False。邏輯或oraorb只要a或b中有一個為True,結果就是True,否則結果為False。此實例的結果為True邏輯非notnota若a為True,則結果為False;若a為False,則結果為True。此實例的結果為False常用的運算符與表達式value_if_trueifconditionelsevalue_if_false(1)condition:一個條件表達式,值為True或False。(2)value_if_true:若condition的值為True,則返回該值。(3)value_if_false:若condition的值為False,則返回該值。條件運算符0506(1)is:若兩個變量指向同一個對象內存地址相同),則結果為True,否則結果為False。(2)isnot:若兩個變量指向不同的對象(內存地址不同),則結果為True,否則結果為False。身份運算符07符號名稱賦值運算符實
例等
價
于解釋(假設變量x=5)加等于+=x+=2x=x+2加后賦值,最后x等于7減等于-=x-=2x=x-2減后賦值,最后x等于3乘等于*=x*=2x=x*2乘后賦值,最后x等于10除等于/=x/=2x=x/2除后賦值,最后x等于2.5整除等于//=x//=2x=x//2整除賦值,最后x等于2按位與等于&=x&=2x=x&2按位與后賦值,最后x等于0按位異或等于^=x^=2x=x^2按位異或后賦值,最后x等于7按位或等于|=x|=2x=x|2按位或后賦值,最后x等于7左移等于<<=x<<=2x=x<<2左移后賦值,最后x等于20右移等于>>=x>>=2x=x>>2右移后賦值,最后x等于1運算符的優先級優
先
級運
算
符說
明高
低1()圓括號(用于分組)2**數字的冪運算3+x、-x、~x數字的正號、負號、按位取反4*、/、//、%數字的乘、除、整除、取模5+、-數字的加、減6<<、>>整數的左移、右移7&整數的按位與8^整數的按位異或9|整數的按位或10==、!=、>、<、>=、<=數字的比較運算符11is、isnot對象身份運算符12not邏輯非13and邏輯與14or邏輯或15=、+=、-=等賦值運算符03數學運算函數數學運算函數01絕對值函數abs()函數用于計算數字的絕對值,可以處理整數、浮點數或復數。例如,print(abs(-10))的結果為10,print(abs(-3.14))的結果為3.14。04最大值和最小值函數max()函數和min()函數分別用于找出一組數據中的最大值和最小值,可以處理多種數據類型,包括數字、字符串、列表、元組等。例如,print(max(3,1,4,9))的結果為9,print(min(3,1,4,1,9))的結果為1。02四舍五入函數round()函數用于對數字進行四舍五入,可以指定保留的小數位數。例如,result=round(3.1419,2)的結果為3.14。05字符串和表達式轉換函數eval()函數用于將字符串作為Python表達式來執行,并返回表達式的結果。exec()函數用于執行動態生成的Python代碼。這兩個函數在處理動態生成的數據或用戶的輸入數據時非常有用,但需要注意安全性,避免執行惡意代碼。03冪和模冪函數pow()函數用于計算數字的冪或模冪,比運算符的功能更強大。例如,print(pow(2,3))的結果為8,print(pow(2,3))的結果為3。pow()函數在處理大數冪運算和模冪運算時具有較高的效率和準確性,適用于密碼學、數論等領域。04math模塊及其應用01import語句用于導入整個模塊。在導入后,可以通過模塊名訪問其中的函數、類或變量。importmathresult=math.sqrt(16)print(f"平方根:{result}")使用import語句02from...import語句用于導入特定函數、類或變量。在導入后,可以直接使用這些內容,而無須通過模塊名前綴訪問。frommathimportsqrtresult=sqrt(25)print(f"平方根:{result}")編碼規范math模塊導入的兩種方法數字運算函數math.sqrt(x):計算數字x的平方根。math.pow(x,y):計算數字x的y次冪。math.exp(x):計算自然常數e的數字x次冪。math.log(x,base):計算以數字base為底的x的對數(默認以e為底)。math.fabs(x):計算數字x的絕對值。三角函數math.sin(x):計算x弧度的正弦值。math.cos(x):計算x弧度的余弦值。math.tan(x):計算x弧度的正切值。math.degrees(x):將弧度轉換為角度。math.radians(x):將角度轉換為弧度。數論函數math.gcd(a,b):計算a和b的最大公約數。math.factorial(x):計算x的階乘。math模塊的主要功能及應用F數量常量math.pi:圓周率π,約為3.141926389793。math.e:自然常數e,約為2.7182818284904。。05項目實訓——競賽積分數據分析及預測在各類競賽中,參賽者的積分數據是評估其表現的重要指標。通過對歷史積分數據進行分析,可以了解參賽者的表現情況,如平均積分、最高積分、最低積分等,從而為參賽者提供有針對性的建議和改進方向。此外,預測未來的積分變化趨勢可以幫助參賽者制定有效的競賽策略,提前做好準備,提高在競賽中的競爭力。競賽積分的重要性數據分析與預測不僅在競賽積分場景中具有重要意義,還可以廣泛應用于金融、醫療、教育等多個領域。例如,在金融市場中,通過對股票價格、交易量等數據的分析和預測,投資者可以做出更明智的投資決策;;在教育領域,通過對學生的考試成績、學習行為等數據進行分析和預測,教師可以及時調整教學方法,提高教學效果。因此,掌握數據分析與預測的方法和技巧對于解決實際問題具有重要的價值。數據分析與預測的應用Python是一種廣泛使用的編程語言,具有簡潔易讀的語法和豐富的庫資源,非常適合進行數據分析與預測。例如,Pandas庫提供了強大的數據處理和分析工具,Matplotlib庫和Seaborn庫等用于數據可視化,Scikit-learn庫提供了豐富的機器學習算法和模型,等等。這些庫使得Python在數據分析與預測領域具有強大的競爭力,能夠快速、準確地處理和分析各種數據,為實際應用提供了有力的支持。Python在數據分析與預測中的優勢項目背景通過數據輸入獲取參賽者的歷史積分數據,為后續分析提供基礎。數據輸入數據分析使用Python內置函數對參賽者的歷史積分數據進行分析,計算平均積分、最高積分、最低積分等統計指標。通過這些統計指標可以全面評估參賽者的表現,了解其在不同比賽中的穩定性和波動情況。將分析結果和預測結果清晰地展示出來,為參賽者提供有價值的參考信息。這些結果可以幫助參賽者直觀地了解自己的表現和未來的發展趨勢,從而更好地制定競賽策略。利用性回歸模型對參賽者的積分變化趨勢進行預測。線性回歸模型的公式為y=mx+b,其中y是預測的積分,x是時間(如第幾場比賽),m是斜率,b是截距。使用NumPy中的polyfit()函數可以擬合線性回歸模型。趨勢預測結果輸出01030402項目任務使用Matplotlib繪制積分變化趨勢圖,直觀地展示數據分析結果和預測結果。例如,通過繪制折線圖,可以清晰地看到參賽者積分的上升或下降趨勢,以及預測的積分變化情況。數據可視化可以提高結果的可讀性和解釋性,使參賽者更容易理解和接受分析結果,從而更好地指導實踐。引入數據可視化功能嘗試使用多項式回歸模型等其他回歸模型進行預測,并通過對比不同模型的預測結果,選擇最優預測方法。例如,除了線性回歸模型外,還可以嘗試二次回歸模型、三次回歸模型等,比較它們在預測精度、擬合優度等方面的差異,從而選擇最適合參賽者積分數據的預測模型。多模型比較可以提高預測的準確性和可靠性,為參賽者提供更可靠的參考依據。進行多模型比較增加更多的歷史數據樣本,豐富數據集,從而提高預測的準確性和可靠性。例如,除了現有的10場比賽的積分數據外,還可以收集更多的比賽數據,如20場、30場等,使數據集更加全面和豐富。更多的數據樣本可以更好地反映參賽者的長期表現和趨勢,從而提高預測模型的性能和預測結果的可信度。通過數據擴展項目優化01.02.03.項目收獲本項目實訓展示了如何使用Python對競賽積分數據進行高效分析與預測,以及如何使用sum()函數、len()函數、max()函數、min()函數等進行數據分析,還學習了如何使用線性回歸模型進行趨勢預測。通過本項目,不僅掌握了數據分析與預測的基本方法和技巧,還提高了編程能力和解決實際問題的能力。項目改進在項目開發過程中,發現了一些可以改進的地方,如在數據輸入階段可以增加數據驗證機制,確保輸入的數據格式正確、完整;在數據分析階段可以進一步細化統計指標,如計算積分的標準差、方差等,以更全面地評估參賽者的積分波動情況;在趨勢預測階段可以嘗試更多的預測模型,并對模型進行優化和調整,以提高預測的準確性。項目拓展本項目可以作為基礎,拓展到其他類似的場景,如學生學習成績分析與預測、員工績效分析與預測、運動員比賽成績分析與預測等。通過不斷實踐和改進,可以提高數據分析與預測的能力和水平,為各個領域的決策提供有力的支持。總結與啟示謝謝大家第三章流程控制05CONTENTS目錄順序結構02流程控制基礎01分支結構03循環結構01040105流程跳轉語句異常處理異常處理項目實訓:學生畫像系統構建0607實例3-1:使用簡單的線性回歸模型預測房屋價格實例3-2:判斷數據是否正常實例3-3:判斷數據是否異常實例3-4:驗證用戶登錄實例3-5:判斷優惠票價實例3-6:預測身高實例3-7:根據特征值進行分類決策實例3-8:使用嵌套分支結構進行成績等級評定實例3-9:驗證用戶登錄實例3-10:交互式菜單操作實例3-11:基于標簽化的多類型文本分類實例3-12:使用match語句處理錯誤提示實例3-13:募捐程序實例3-14:限制用戶登錄失敗的機會實例3-15:實時數據監測程序應用案例本章案例概覽實例3-16:使用range()函數生成等差數列并輸出實例3-17:計算棋盤上的麥子重量實例3-18:計算炮彈飛行軌跡數據實例3-19:去除數據異常值實例3-20:九九乘法表實例3-21:設計產品打包銷售方案實例3-22:使用優化策略提高嵌套循環效率實例3-23:序列輸出控制實例3-24:提前停止人工智能模型訓練實例3-25:網絡請求重試機制實例3-26:模擬基于流程控制的智能客服對話流程實例3-27:數據輸入和計算中的異常處理實例3-28:智能客服對話流程中的異常處理實例3-29:網絡請求中的異常處理項目實訓:學生畫像系統構建01Python流程控制的基本概念`順序結構是程序中最基本的流程控制方式,代碼按書寫順序依次執行,每行代碼依次處理,直到程序結束或遇到跳轉語句。順序結構分支結構根據條件判斷選擇不同執行路徑,實現程序的多樣化功能,如if語句和match語句。分支結構循環結構用于重復執行某段代碼,直到滿足特定條件為止,提高代碼復用性和效率。循環結構流程控制概述02順序結構順序結構是基本且常見的流程控制結構之一。在順序結構中,程序按代碼的書寫順序從上到下逐行執行,每行代碼都會被依次執行,直到程序結束或遇到跳轉語句為止。順序結構順序結構是程序設計的基石,用于確保代碼按既定的順序逐行執行。然而,在Python中,若某條語句出現錯誤,則后續語句的執行將被阻斷。處理解釋型語言的程序錯誤P順序結構03分支結構單分支結構僅使用if語句判斷條件,當條件為真時執行相應語句塊。單分支結構雙分支結構包含if和else子句,根據條件真假選擇執行不同語句塊。雙分支結構多分支結構通過多個elif子句實現,將條件分為多個區間,提高程序邏輯清晰度。多分支結構嵌套分支結構在一個分支結構內部嵌套另一個分支結構,形成復雜的決策樹。嵌套分支結構if語句matchexpression:casepattern1:#
語句塊1casepattern2:#語句塊2casepattern3:#語句塊3case_:#通配符模式,匹配任何值
#默認語句塊match語句match語句作為一種新的結構化分支控制流工具被引入,旨在提供更清晰、簡潔的替代方案,特別是在進行多重條件判斷時,match語句比傳統的if…elif…else語句更具可讀性。match語句基于模式匹配,可以匹配簡單的值、數據類型、枚舉類型,甚至是復雜的結構,以下是match語句的語法。04循環結構它通過持續檢測一個指定的條件表達式決定是否繼續執行循環語句塊,因此也被稱為條件循環結構。該條件表達式會被隱式轉換為布爾值,即True或False。在Python中,0、空序列式被視為False,其他值被視為True。基本概念while條件表達式:#循環體:執行的語句塊while循環結構的語法while循環range(stop)#0,1,2,3,4,…,stop-1,初值為0,步長為1的等差數列生成從0開始,到stop(不包括)結束,步長為1的等差數列。例如:range(5)生成序列[0,1,2,3,4]。01基本形式range(start,stop[,step])#start,start+step,start+2*step……等差數列生成從start開始,到stop(不包括)結束,步長為step的等差數列。range()函數生成的內容:r[i]=start+step*i。step參數是可選的,默認值為1。當step參數的值為正整數,要求i≥0且r[i]<stop,產生的序列遞增。當step參數的值為負整數,要求i≥0且r[i]>stop,產生的序列遞減。02數字序列生成與循環控制range()函數是Python內置的數字序列生成器,是用于生成不可變數字序列(等差數列)的重要工具,返回的對象是一個可迭代的、表示連續整數范圍的對象。擴展形式for循環適用于循環次數明確或可迭代對象確定的場景,用于簡潔、高效地遍歷各類可迭代數據結構。它按順序迭代字符串、列表、集合、字典及文件對象等中的各元素,執行預定操作,for循環結構的語法如下。for循環變量in可迭代對象:
循環體語句塊#縮進部分,對各元素執行的具體操作for循環010302二重循環二重循環在一個循環體中嵌套另一個循環,用于處理二維數據結構,如矩陣。三重循環三重循環用于處理更復雜的數據結構,如三維數組,提高程序靈活性。效率優化嵌套循環可能導致性能問題,需優化算法,減少不必要的嵌套或使用高效數據結構。嵌套循環05流程跳轉語句pass語句在Python中是一個空操作,什么也不做,用于保持程序結構的完整性。當語法上需要一個語句,但邏輯上暫時不需要執行任何操作時,可以使用pass語句。空操作pass語句占位pass語句在開發過程中,常被用作為類、函數、條件體的占位符,或創建占位程序、保證格式完整、保證語義完整等,以便在后續開發中填充實際代碼。continue語句用于跳過循環中的當前迭代,并繼續執行下一次迭代。它通常與條件語句結合使用,以用于跳過不滿足特定條件的迭代。continue語句break語句用于立即終止循環,并跳出循環體。它同樣通常與條件語句結合使用,以在滿足特定條件時提前結束循環。break語句在Python中,else子句不僅可以與if語句結合使用,還可以與循環結構(for循環結構和while循環結構)結合使用。當循環正常結束時(即沒有通過break語句提前終止,else子句將被執行。else子句06異常處理異常是程序運行時遇到的錯誤情況,可能由多種原因引起,如語法錯誤、運行時錯誤等。異常定義01常見異常類型異常概述與類型異
常說
明異
常說
明Exception常規異常的父類,可以捕獲任意異常ModuleNotFoundError模塊不存在NameError未聲明/未初始化的對象(沒有屬性)ZeroDivisionError除數為0時報錯ValueError傳入無效的參數,或傳入一個調用者不期望的值,即使值的類型是正確的SyntaxError語法錯誤02try-except語句用于捕獲和處理異常,確保程序的健壯性和穩定性。try-except語句else子句在沒有發生異常時執行,finally子句無論是否發生異常都會執行。else與finally子句異常處理機制07項目實訓——學生畫像系統構建項目背景2023年3月,多所高校悄悄給貧困學生飯卡打錢,引發社會熱議,如上圖所示。這種“隱形資助”通過大數據分析,精準識別困難學生,改變了傳統資助模式,有效保護了學生的隱私和自尊。使用Python采集和分析學生數據,構建學生畫像系統,精準識別經濟困難學生。構建學生畫像項目任務分析學生多維特征,構建畫像并標簽化,為資助決策提供依據。收集學生多維度數據,進行清洗、預處理和特征提取,確保數據質量。0102數據收集與處理數據分析與畫像構建項目分析技術路線采集數據、處理數據、分析數據、構建畫像并計算資助金額。代碼實現通過Python代碼實現數據處理、分析和畫像構建,計算學生經濟等級和資助金額。項目實現擴展數據集引入更多篩選維度建立全面評價體系實施動態資助分配機制。優化方案項目優化學生資助工作需技術支撐和數據驅動,不斷調整優化,實現精準資助。實踐意義總結與啟示謝謝大家第四章函數05CONTENTS目錄函數的定義和調用02模塊化程序設計與函數01函數的參數傳遞03函數的進階應用01040105Lambda表達式的概念及應用random模塊的概念及應用異常處理項目實訓:學生畫像系統模塊化設計0607實例4-1:計算矩陣的周長和面積實例4-2:判斷閏年實例4-3:基于標簽化的多類型文本分類實例4-4:會員購物結算實例4-5:*args和**kwargs的組合應用——動態構建神經網絡層實例4-6:*和**的組合應用——動態構建神經網絡層實例4-7:通過函數的嵌套調用實現智能客服對話菜單實例4-8:通過函數的嵌套調用實時數據監測與預測實例4-9:計算目錄總大小(分治問題)實例4-10:函數的遞歸調用在人工智能領域路徑規劃中的應用實例4-11:在多個模塊之間共享數據實例4-12:存儲人機交互的歷史數據實例4-13:使用Lambda表達式簡化人工智能數據處理流程實例4-14:隨機紅包分配器實例4-15:隨機選人器實例4-16:生成隨機驗證碼實例4-17:模擬生成序列號項目實訓:學生畫像系統模塊化設計應用案例本章案例概覽01模塊化程序設計與函數模塊化將程序分解為功能單一的模塊,使代碼結構清晰,便于理解。模塊化設計降低了模塊間的耦合度,修復錯誤時只需關注相關模塊,降低了維護成本。提高代碼可讀性增強代碼可維護性通過封裝通用功能為模塊,可避免重復編寫代碼,提高開發效率。新功能可通過編寫新模塊并集成到現有系統中,使程序能靈活應對需求變化。促進代碼重用支持程序擴展性模塊化程序設計目的函數定義函數是執行特定功能的語句組合,由函數名、參數、函數體和返回值組成,支持多種參數傳遞方式。內置函數是Python預先定義好的函數,如print()函數、len()函數等,而自定義函數則需要開發者通過def定義。定義函數的語法如下。def函數名(形參1,形參2,...):"""函數文檔字符串(可選)"""
函數體
return返回值函數使用規則函數的使用需遵循“先定義后調用”的規則,通常將函數定義放在程序開頭,并在函數之間、函數與主程序之間留空行,以保證代碼清晰。函數簡介02函數的定義和調用0102函數不需要接收任何參數。defgreet1():print("Hello,World!")無參函數
函數需要接收一個或多個參數。defgreet2(name,mess):print(f"尊敬的{name}先生/女士,{mess}。")函數的定義03函數不返回任何值,常用于執行某些操作或任務。無返回值函數04無函數通過return語句返回計算結果或特定值。defadd2(a,b):returna+b有返回值函數有參函數defadd1(a,b):
print(f"{a}+{b}={a+b}")01對于無返回值函數,在調用后無須接收返回值,通常執行某些操作或任務。greet1() #調用無參無返回值函數add1(5,6)#調用有參無返回值函數) 無返回值函數的調用02函數的返回值是通過return語句將結果傳遞回函數調用者獲得的。返回值沒有類型限制,也沒有個數限制。result=add2(4,6)#調用有返回值resntf"調用求和函數,結果為{result}。")有返回值函數的調用函數的調用03函數的參數傳遞位置傳遞按參數順序將實參與形參對應,適用于參數數量固定且順序明確的場景。位置傳遞是函數地參數傳遞的一種基本方式。它通過參數的順序將實參與形參一一對應。在調用函數時,實參的值按定義順序被傳遞給形參。位置傳遞是函數調用中常用的參數傳遞方式,適用于參數數量固定且順序明確的場景。位置傳遞位置傳遞特點關鍵字傳遞特點關鍵字傳遞是指在調用函數時提供實參所對應形參的參數名,根據參數名傳遞參數,形如“函數名(參數1=值1,參數2=值2,...)”。關鍵字傳遞具有以下特點。(1)順序無關性:實參可以按任意順序傳遞,而無須依賴形參的定義順序。(2)可讀性強:通過參數名顯式傳遞值,顯著提高了代碼的可讀性和可理解性。(3)靈活性高:特別適用于參數較多或需要跳過某些默認參數的場景,使函數調用更加直觀和便捷。關鍵字傳遞默認值傳遞特點默認值傳遞允許在調用函數時省略有默認值的參數,調用者可按需覆蓋默認值。(1)簡化調用:調用者可以省略有默認值的參數,減少調用的代碼量。(2)靈活性高:調用者可以根據需要覆蓋默認值,以適應不同的場景。(3)參數順序:默認參數必須定義在非默認參數之后,否則會引發語法錯誤。默認值傳遞*args傳遞*args可接收任意數量的位置參數,將它們打包為一個元組,適用于參數數量不確定的場景。**kwargs傳遞**kwargs可接收任意數量的關鍵字參數,將它們存儲為字典,適用于參數數量不確定的場景。包裹傳遞*解包裹*可將序列解包為位置參數,便于將集合傳遞給函數**解包裹**可將映射解包為關鍵字參數,便于將字典傳遞給函數。解包裹傳遞04函數的進階應用函數嵌套調用可將復雜問題分解為多個子問題,使代碼結構更清晰,邏輯更易于理解。嵌套調用優勢函數嵌套調用遞歸調用原理函數的遞歸調用是指函數直接或間接調用自身,通常用于解決可以分解為相似子問題的問題。函數的遞歸調用的核心思想是,將一個問題分解為規模更小的同類問題,直到問題的規模足夠小為止,可以直接解決。下面通過函數的遞歸調用計算階乘。deffactorial(n):ifn==0orn==1:returnelse:returnn*factorial(n-1) #遞歸調用result=factorial(5) #結果為120函數遞歸調用Python中變量作用域包括:局部作用域嵌套作用域全局作用域內置作用域0102局部變量在函數調用時創建,執行完成后銷毀。全局變量在程序啟動時創建,結束時銷毀。global_var="我是全局變量"#定義全局變量defmy_function():local_var="我是局部變量"#定義局部變量print("在函數內部訪問全局變量:",global_var)print("在函數內部訪問局部變量:",local_var)my_function()變量作用域變量生命周期變量作用域與生命周期05Lambda表達式的概念及應用Lambda表達式特點Lambda表達式是簡潔的匿名函數,無函數名,只包含一個表達式,適用于將函數作為參數傳遞的場景。其語法如下。lambda參數1,參數2,...:表達式下面展示了如何使用Lambda表達式計算兩個數字的和。add=lambdaa,b:a+bresult=add(3,5)#輸出“8”Lambda表達式概念map()函數與Lambda表達式結合,可對可迭代對象中的元素應用指定函數,進行批量轉換。與map()函數結合filter()函數與Lambda表達式結合,可篩選出滿足條件的元素,提高數據處理效率。與filter()函數結合sorted()函數與Lambda表達式結合,可按指定鍵函數對數據進行排序,實現靈活的排序方式。與sorted()函數結合Lambda表達式應用06random模塊的概念及應用生成隨機數隨機選擇元素(1)random.choice(seq):從序列seq中隨機選擇一個元素。(2)random.choices(seq,k=n):從序列seq中隨機選擇n個元素(可重復)。(3)random.sample(seq,k=n):從序列seq中隨機選擇n個元素(不可重復)。隨機打亂順序使用random.shuffle(seq):將序列seq中的元素隨機打亂(原地修改)。random模塊概念(1)random.random():生成一個[0.0,1.0)范圍內的隨機浮點數。(2)random.uniform(a,b):生成一個[a,b]范圍內的隨機浮點數。(3)random.randint(a,b):生成一個[a,b]范圍內的隨機整數。種子的特點在random模塊中,隨機數生成器是基于偽隨機數算法的工具,用于生成隨機數序列。偽隨機數序列的生成依賴于一個初值,該值被稱為種子。通過設置種子,可以控制隨機數生成器的行為,確保生成的隨機數序列是可重復的。其語法如下:random.seed(seed)#seed是種子值,可以是整數、浮點數或None。下面展示如何通過設置種子來控制隨機數序列的生成。importrandomrandom.seed(42)#設置種子print(random.random())#輸出“0.6394267984578837”print(random.random())#輸出“0.025010755222666936”random模塊的應用07項目實訓——學生畫像系統模塊化設計隨著智慧校園建設的不斷推進,學生行為數據的采集與分析成為提升教育質量和管理效率的重要手段。學生畫像系統通過對學生的行為數據(學習習慣、社交活動、消費記錄等)進行分析,生成個性化的學生畫像,為學校提供精準的學生成長支持和管理決策依據。項目背景通過模塊化設計,結合函數的定義和調用的知識,致力于實現一個智慧校園中的學生畫像系統。利用食堂的就餐消費大數據,對在食堂消費次數多、每餐平均消費額度低的學生發放餐補。項目任務數據處理模塊數據采集模塊數據采集模塊負責全面收集學生的就餐消費大數據,作為構建學生畫像的基礎。通過學校系統獲取學生每月就餐記錄,以嵌套列表形式存儲。資助實施模塊負責通過設定不同的資助金額,確保資助資源的合理分配。項目分析數據處理模塊負責對收集的數據進行清洗、預處理和特征提取,包括展平嵌套列表以便統計數據,以及篩選就餐次數達到一定標準的學生數據。數據分析模塊數據分析模塊負責對餐費均值、總費用和消費次數等數據,進行深入的分析。通過計算學校餐費均值和學生餐費均值,評估學生的經濟水平。學生畫像生成模塊學生畫像生成模塊負責根據數據分析結果,將分析結果標簽化,構建學生畫像。數據分析模塊機器學習算法擴展功能模塊優化用戶體驗利用機器學習算法(聚類分析、決策樹等)更精準地識別學生的行為模式和經濟狀況,從而生成更細致的畫像。引入機器學習模型以提升畫像生成的精準度。提供可視化界面以直觀地展示畫像和成長分析結果,同時支持個性化配置,允許根據需求自定義畫像規則,從而提高系統的實用性和靈活性。項目優化通過本項目,學習了Python的函數定義語法及調用;理解了畫像的基本結構和,實現沒程;掌握了如何將所學知識應用到實際項目中。項目收獲項目改進項目拓展本項目實訓通過引入機器學習算法、擴展數據維度,以及優化用戶體驗顯著提升了系統的精準性和實用性。一是利用機器學習算法(聚類分析、決策樹等)更精準地識別學生的行為模式和經濟狀況。二是擴展功能模塊以支持更多數據維度,如心理健康、體育活動等,并引入機器學習模型以提升畫像生成的精準度。三是優化用戶體驗。項目總結謝謝大家第五章高級數據類型及常見操作CONTENTS目錄高級數據類型0101序列的通用操作02項目實訓:業務數據預處理與分析01030101實例5-1:高級數據類型在報告分析項目的應用實例5-2:身份證號信息提取實例5-3:手機號脫敏實例5-4:
成績數據分析實例5-5:省份區域歸屬判斷實例5-6敏感詞匯檢測項目實訓:業務數據預處理與分析項目——行為監察應用案例本章案例概覽01高級數據類型高級數據類型簡介高級數據類型定義高級數據類型可將多種數據組織起來,便于操作。Python中的列表、元組、字符串、字典和集合等高級數據類型功能豐富,可處理復雜數據結構和任務。高級數據類型應用本章通過案例詳細介紹列表、元組、字典、集合的定義和特征,并展示其應用,如列表用于動態數據集合,元組用于固定數據存儲等。字符串定義與特征字符串定義字符串是Python的基本數據類型,用于表示文本數據,是有序的字符序列,可包含字母、數字等,用引號定義,如`sentence="Hello,world!"`。字符串特征字符串支持拼接、切片、查找等操作,還可表示二進制數據,廣泛應用于數據解析、格式化輸出等場景。元組定義與特征元組定義元組是有序集合,元素不可修改,適用于存儲固定數據,如`colors=(255,255,0)`表示RGB顏色代碼。元組特征元組不可變,保證數據安全性,適用于固定配置參數或常量集合。列表定義與特征列表定義列表是有序可變容器,可存儲多種類型元素,支持動態增刪和修改。如:scores=[85,92,78] #學生成績數據shopping_list=['apple','banana','orange','milk','bread'] #購物車商品列表特征列表有序、異構、元素可重復、動態可變,支持索引和切片,適用于頻繁修改的數據集合。集合特征集合元素依據哈希值存儲,不可變對象可哈希,可變對象不可哈希。集合定義集合是無序且元素唯一的容器,用于成員關系測試和去重,支持交集、并集等運算,如:num={1,2,3}#數字集合fruits2={'banana','grape','kiwi'}#字符串集合集合定義與特征字典定義字典是鍵值對形式的容器,通過鍵高效訪問值,如`user_info={"name":"Alice","age":25}`。字典特征字典動態可變、無序、鍵唯一且不可變,適用于數據存儲和檢索。字典定義與特征關鍵詞統計利用字符串操作統計報告中關鍵詞頻率,如`report.count(keyword)`,并將結果存儲在字典中。報告摘要生成根據關鍵詞頻率生成報告摘要,通過循環和字符串格式化輸出摘要內容。案例5-1:報告分析項目應用#報告文本report='2023年市場分析報告顯示Python在數據分析領域的應用越來越廣泛Python的簡潔語法和豐富庫支持使其成為數據科學家的首選工具
然而Java在企業級應用中的優勢依然明顯
尤其是在大型系統中'#定義關鍵詞列表keywords=["Python","Java","數據分析","企業級應用"]#統計關鍵詞出現頻率keyword_count={keyword:report.count(keyword)forkeywordinkeywords}print("關鍵詞出現頻率:",keyword_count)#生成報告摘要summary="報告摘要:\n"forkeyword,countinkeyword_count.items():summary+=f"-{keyword}出現了{count}次\n"print(summary)應用案例案例5-1:高級數據類型在報告分析項目的應用程序執行結果如下:關鍵詞出現頻率:{'Python':2,'Java':1,'數據分析':1,'企業級應用':1}報告摘要:-Python出現了2次-Java出現了1次-數據分析
出現了1次-企業級應用
出現了1次02序列的通用操作序列(sequence)是Python的基礎數據結構,用于存儲一組有序的元素集合,序列可以包含一個或多個元素(元素可以是任意類型,包括其他序列),也可以是空序列。Python內置的序列數據類型包括列表(list)、元組(tuple)、字符串(str)等。這些序列類型具有一些共性。如內部元素之間都存在先后順序,都支持序列的拼接、重復、索引、切片、測試長度、最大值、最小值和存在性測試等操作。序列序列中的每個元素都有兩個唯一的序號,一個正向(從0開始)序號和一個逆向(從-1開始)序號。其語法如下:序列名[序號]s序列,如圖5-1所示。
圖5-1s序列(字符串)元素的位置元素的逆向(從-1開始)序號s序列:元素的正向(從-1開始)序號索引——索引規則序列通過索引訪問元素,正向索引從0開始,逆向索引從-1開始,索引范圍為`-len(s)`到`len(s)-1`。(1)正向索引:從0開始,第1個元素為s[0],第2個元素為s[1],依此類推,最后一個元素為s[len(s)-1]。(2)逆向索引:從-1開始,最后一個元素為s[-1],第1個元素為s[-len(s)]。(3)索引范圍:有效索引范圍為-len(s)到len(s)-1,超出范圍會引發IndexError。(4)索引類型:序號必須為整數,否則會引發TypeError如`s='Python'`,`s[0]`輸出`'P'`,`s[-1]`輸出`'n'`,超出范圍或非整數索引會報錯。s='Python'print(s[0]) #輸出:'P'print(s[-1]) #輸出:'n'print(s[10]) #出現錯誤IndexError;stringindexoutofrangeprint(s['a']) #出現錯誤TypeError:stringindicesmustbeintegers需要注意的是,python字符串中的每個字符(包括英文、中文、空格和符號)都占一個索引位。索引示例通過序號訪問序列中特定元素切片(slice)——截取序列的一部分切片語法切片語法為`s[i:j]`或`s[i:j:k]`,分別表示從索引`i`到`j-1`,步長為`k`。
i:起始索引(包含s[i]),若缺省,默認為0。
j:結束索引(不包含s[j]),若缺省,默認為序列長度。
k:步長,支持正負值,負值表示逆向切片。若缺省,默認為1。注意:切片操作返回新序列,原序列不變。步長為負時,i和j的順序需反向指定。如果截取范圍內沒有數據,則返回空序列;超出范圍不報錯。切片示例s='abcdefg'print(s[1:3])#輸出:'bc'(索引1到2)print(s[8:2])#輸出:''(無數據)print(s[:])#輸出:'abcdefg'(完整序列)print(s[:2])#輸出:'ab'(索引0到1)print(s[::2])#輸出:'aceg'(步長為2)print(s[::-1])#輸出:'gfedcba'(逆序)1、公民身份號碼里面隱含出生日期、出生地、性別等信息。身份證倒數第二位是性別信息,奇數表示“男”,偶數表示“女”。id_number=input('請輸入身份證號:')#例如fint(id_number[16])%2==0: #索引倒數第二位,轉整數,判定奇偶#ifid_number[16]in'02468': #用字符串的成員測試方法gender='女'else:gender='男'print(f'性別為{gender}')2、利用條件表達式實現更簡潔。print(f'性別為女')ifinput()[-2]in'02468'elseprint(f'性別為男')應用案例案例5-2:身份證號信息提取拼接與重復操作序列拼接使用`+`將相同類型序列拼接,如`last_name+first_name`拼接字符串,`stu_name+score_2024`拼接列表。first_name=input() #輸入名,如:李last_name=input() #輸入姓,如:明full_name=last_name+first_name#將姓與名拼接為一個字符串,如李明print(full_name)#輸出拼接后是一個對象,輸出時中間無空格拼接與重復操作序列重復使用`*`重復序列,如`'-'*30`生成重復字符串,`n*0`或`n*(-5)`返回空序列。#字符串重復print('-'*30)#輸出:'------------------------------'print(f'{"歡迎光臨":^30}')#輸出居中對齊的“歡迎光臨”print('-'*30)#輸出:'------------------------------'#重復次數為0或負數print('-'*0)#輸出:''(空字符串)print('-'*(-5))#輸出:''(空字符串)手機號屬于個人隱私信息。將用戶輸入的手機號的4-7位用“*”替換。tel=tel_mask=tel[:3]+"*"*4+tel[-4:] #字符串切片、拼接和重復print(tel_mask) #輸出結果:132****3211應用案例案例5-3:手機號脫敏最大值與最小值計算使用`max()`和`min()`函數計算序列最大值和最小值,可指定比較規則,如`max(s,key=len)`。Python提供了內置函數max()和min(),用于返回序列中的最大值和最小值。若序列元素為數值類型,則直接比較數值大小。若序列元素為字符串類型,則比較字符串的Unicode編碼值。示例代碼如下:n=(1,10,9,5)#數值類型print(f"最大值:{max(n)},最小值{min(n)}")#最大值:10,最小值1s=['1','009','10','5']#字符串類型print(f"最大值:{max(s)},最小值{min(s)}")#最大值:5,最小值009序列最大值與最小值在max()和min()函數中,可用key關鍵字指定比較規則。示例代碼如下:s=['1','009','10','5']
#字符串類型print("最大值:"+max(s,key=len))
#最大值:009print("最大值:"+max(s,key=int))
#最大值:10序列最大值與最小值
從某文件中讀取一列數據(無序),使用`max()`和`min()`計算最高分和最低分,`sum()`計算總分。輸入數據前面兩個元素數據是編號、姓名,后面的是若干名評委給出的評分。分別求出最高分、最低分和總分。代碼如下:
應用案例案例5-4:成績數據分析案例user_input="2204056小張1008095889676658598100"scores=user_input.split()#將信息按空格分割,形成列表,每個元素是字符串scores_nums=list(map(int,scores[2:]))#切片截取所有成績字符串并轉為整數print(f'最高分:{max(scores_nums)}')#最高分:100print(f'最低分:{min(scores_nums)}')#最低分:65print(f'總
分:{sum(scores_nums)}')#總
分:883print(f'平均分:{sum(scores_nums)/len(scores_nums)}')#平均分:88.3成員測試操作
成員測試用于判斷某個元素是否存在于序列中(如字符串、列表、元組、字典的鍵或集合)。Python提供了“in”和“notin”運算符,返回布爾值(True或False)。成員測試語法:xins
#如果x是s的成員,返回True,否則返回Falsexnotins
#如果x不是s的成員,返回True,否則返回False成員測試一般用于條件運算,根據測試結果決定執行后續程序中的某個分支。應用案例案例5-5:省份區域歸屬判斷northeast=['遼寧','吉林','黑龍江']province=input("輸入省份名稱:")ifprovinceinnortheast:print(f'{province}是東北三省之一')else:print(f'{province}不是東北三省之一')利用成員測試(in操作符)和條件判斷,快速判斷用戶輸入的省份是否在指定列表中,適用于簡單的區域分類場景。此例利用字符串匹配和成員測試,快速識別敏感詞匯,適用于簡單的文本過濾場景。
隨著互聯網的快速發展,網絡信息中不良內容和敏感詞匯的傳播問題日益突出。為了維護網絡環境的健康,敏感詞匯檢測成為一項重要任務。實現敏感詞匯檢測的主要步驟為:先構建一個包含敏感詞匯的列表;再編寫檢測函數,判斷用戶輸入的詞匯是否在敏感詞匯列表中;最后通過用戶交互,輸入詞匯并輸出檢測結果。應用案例案例5-6:敏感詞匯檢測#定義一個敏感詞匯列表
sensitive_words=["殺人","打架","微信","多少錢"]#根據實際來定義defis_sensitive_word(word):#檢查詞匯是否在敏感詞匯列表中 returnwordins
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年01A卷《中國近現代史綱要》期末考試試卷
- 2025至2030可注射藥物行業產業運行態勢及投資規劃深度研究報告
- 2025至2030隧道和鑿巖設備行業發展趨勢分析與未來投資戰略咨詢研究報告
- 學科專業設置調整優化機制改革研究
- 2025至2030中國輻射固化行業產業運行態勢及投資規劃深度研究報告
- 2025至2030原子吸收分光光度計行業項目調研及市場前景預測評估報告
- 2025至2030中國滴眼劑行業項目調研及市場前景預測評估報告
- 2025至2030汽車長玻璃纖維增強PBT行業產業運行態勢及投資規劃深度研究報告
- 2025至2030中國交互式機器人行業項目調研及市場前景預測評估報告
- 2025年04月陜西醫療衛生招聘經典試題解析筆試歷年專業考點(難、易錯點)附帶答案詳解
- 2025年全國高校輔導員素質能力大賽基礎知識測試題及答案(共3套)
- 律師事務所客戶信息保密規定
- 云南楚雄州金江能源集團有限公司招聘筆試真題2024
- 2025-2030中國動力電池回收利用技術路線與經濟性評估分析研究報告
- 2025年深圳中考物理試卷真題(含答案)
- 互聯網行業產品經理專業顧問聘用協議
- 2025年 東北石油大學招聘考試筆試試題附答案
- 2025年安徽省中考地理真題試卷(含答案)
- 人教版2025年八年級英語下學期期末總復習(專題訓練)專題01單項選擇【期末易錯100題】(人教版)(學生版+解析)
- 企業財務內控管理制度
- 2025以色列與伊朗沖突全面解析課件
評論
0/150
提交評論