




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《Python編程基礎(chǔ)》教學(xué)課件歡迎來到《Python編程基礎(chǔ)》課程!本課程旨在幫助初學(xué)者掌握Python編程的核心概念和技能。我們將從基礎(chǔ)語法開始,逐步深入到更復(fù)雜的主題,如數(shù)據(jù)結(jié)構(gòu)、函數(shù)和模塊等。Python作為當(dāng)今最流行的編程語言之一,被廣泛應(yīng)用于網(wǎng)絡(luò)開發(fā)、數(shù)據(jù)分析、人工智能等領(lǐng)域。通過本課程的學(xué)習(xí),你將獲得扎實的Python編程基礎(chǔ),為未來的編程之旅打下堅實基礎(chǔ)。無論你是編程新手還是有其他語言經(jīng)驗的開發(fā)者,本課程都將為你提供清晰、系統(tǒng)的學(xué)習(xí)路徑,幫助你快速掌握Python的精髓。讓我們一起開始這段充滿樂趣的學(xué)習(xí)旅程吧!什么是Python簡介Python是一種解釋型高級編程語言,由荷蘭程序員GuidovanRossum于1991年首次發(fā)布。它的設(shè)計哲學(xué)強調(diào)代碼的可讀性和簡潔性,使得程序員可以用更少的代碼表達更多的意思。Python的語法簡單明了,幾乎就像偽代碼一樣,這使得它特別容易學(xué)習(xí)和使用。同時,它強大的標準庫和第三方庫使其能夠適應(yīng)各種應(yīng)用場景。Python的創(chuàng)始人GuidovanRossum曾經(jīng)在谷歌和Dropbox工作過,他設(shè)計Python的初衷是為了創(chuàng)造一種易于理解和使用的編程語言。如今,Python已經(jīng)成為世界上最受歡迎的編程語言之一,被無數(shù)個人和組織廣泛采用。Python的特點簡單易學(xué)Python的語法設(shè)計簡潔明了,接近自然語言,降低了學(xué)習(xí)門檻。它的代碼結(jié)構(gòu)清晰,使用縮進來表示代碼塊,提高了可讀性。對于初學(xué)者來說,Python是入門編程的理想選擇??缙脚_兼容Python可以在Windows、MacOS、Linux等各種操作系統(tǒng)上運行,編寫一次的代碼可以在不同平臺上執(zhí)行,大大提高了開發(fā)效率和程序的適用范圍。豐富的庫Python擁有龐大的標準庫和第三方庫生態(tài)系統(tǒng),涵蓋了從Web開發(fā)到數(shù)據(jù)分析、科學(xué)計算、機器學(xué)習(xí)等各個領(lǐng)域,使開發(fā)者能夠快速構(gòu)建各種復(fù)雜的應(yīng)用程序。Python應(yīng)用場景Web開發(fā)Python擁有Django、Flask等強大的Web框架,使得開發(fā)者可以快速構(gòu)建安全、可擴展的Web應(yīng)用。Django提供了完整的MVC架構(gòu),而Flask則以其輕量級和靈活性著稱。數(shù)據(jù)分析與人工智能通過NumPy、Pandas、Matplotlib等庫,Python已成為數(shù)據(jù)科學(xué)的首選語言。而TensorFlow、PyTorch等深度學(xué)習(xí)框架,使Python在人工智能領(lǐng)域占據(jù)主導(dǎo)地位。自動化腳本與爬蟲Python簡潔的語法和豐富的庫使其成為編寫自動化腳本的理想選擇。使用Selenium、BeautifulSoup等工具,可以輕松實現(xiàn)網(wǎng)頁抓取和數(shù)據(jù)提取功能。安裝與配置Python環(huán)境下載Python訪問Python官方網(wǎng)站(),根據(jù)操作系統(tǒng)選擇合適的Python3.x版本。目前推薦使用Python3.8或更高版本,因為Python2已于2020年正式停止支持。安裝程序運行下載的安裝程序,在Windows系統(tǒng)上請勾選"AddPythontoPATH"選項,以便在命令行中直接使用Python。Mac和Linux用戶通常有預(yù)裝的Python環(huán)境。驗證安裝打開命令行或終端,輸入"python--version"或"python3--version"命令,如果顯示版本號,說明安裝成功。還可以輸入"python"進入交互式環(huán)境,測試簡單代碼。常用集成開發(fā)環(huán)境(IDE)PyCharm由JetBrains開發(fā)的專業(yè)PythonIDE,提供智能代碼補全、實時錯誤檢查、集成調(diào)試器和測試工具等功能。社區(qū)版免費,專業(yè)版需付費但提供更多高級功能。適合專業(yè)開發(fā)者和大型項目,但占用系統(tǒng)資源較多。VisualStudioCode微軟開發(fā)的輕量級代碼編輯器,通過安裝Python擴展可獲得出色的Python開發(fā)體驗。提供語法高亮、代碼補全、調(diào)試支持等功能。免費開源,啟動速度快,適合各類項目和開發(fā)者。JupyterNotebook基于Web的交互式計算環(huán)境,可以創(chuàng)建包含代碼、可視化和文本的文檔。支持實時代碼執(zhí)行和結(jié)果展示。特別適合數(shù)據(jù)分析、教學(xué)演示和實驗性代碼開發(fā)。第一個Python程序HelloWorld!在Python中創(chuàng)建第一個程序非常簡單。只需一行代碼就可以輸出"Hello,World!":print("Hello,World!")這個簡單的程序展示了Python的核心特點之一:簡潔明了。相比其他編程語言,Python不需要復(fù)雜的語法結(jié)構(gòu)即可完成基本功能。運行這個程序后,控制臺會顯示文本"Hello,World!"。print()函數(shù)是Python中用于輸出信息的基本函數(shù),它接受一個或多個參數(shù),并將它們打印到標準輸出(通常是控制臺)。通過這個簡單的例子,我們開始了解Python程序的基本結(jié)構(gòu)和執(zhí)行流程,為接下來學(xué)習(xí)更復(fù)雜的概念打下基礎(chǔ)。注釋與編碼規(guī)范注釋類型Python支持兩種注釋方式:單行注釋使用#符號開頭,之后的內(nèi)容被解釋器忽略;多行注釋可以使用三引號('''或""")包圍,形成多行字符串注釋。注釋是提高代碼可讀性和維護性的重要手段。PEP8編碼規(guī)范PEP8是Python官方的代碼風(fēng)格指南,提供了編寫Python代碼的規(guī)范建議。它涵蓋了縮進(使用4個空格)、行長度(最大79個字符)、命名約定(如變量使用小寫加下劃線)等多個方面,遵循這些規(guī)范有助于提高代碼質(zhì)量。ZenofPython在Python交互式環(huán)境中輸入"importthis"可以看到Python之禪,這是一組指導(dǎo)Python編程的設(shè)計哲學(xué)。其中包括"簡潔勝于復(fù)雜"、"可讀性很重要"等原則,這些理念深刻影響了Python語言的設(shè)計和使用。Python基礎(chǔ)語法——縮進在Python中,縮進是語法的一部分,而不僅僅是為了美觀。標準的縮進是4個空格,用于表示代碼塊的開始和結(jié)束。不同于其他編程語言使用花括號{}或關(guān)鍵詞來定義代碼塊,Python使用縮進來表示代碼的層次結(jié)構(gòu)。正確的縮進對Python程序至關(guān)重要。如果縮進不一致,會導(dǎo)致IndentationError錯誤。例如,在條件語句或循環(huán)中,縮進不正確會使程序無法正常執(zhí)行。Python的這一特性強制開發(fā)者寫出結(jié)構(gòu)清晰的代碼,提高了代碼的可讀性。標識符與保留字標識符命名規(guī)則標識符是用來命名變量、函數(shù)、類等對象的名稱。Python標識符必須以字母(包括下劃線_)開頭,后跟字母、數(shù)字或下劃線。Python區(qū)分大小寫,因此"name"和"Name"是兩個不同的標識符。命名建議遵循以下約定:變量和函數(shù)名使用小寫字母,單詞間用下劃線連接(如student_name);類名使用駝峰命名法(如StudentInfo);常量全部大寫(如MAX_VALUE)。Python保留字保留字(關(guān)鍵字)是Python語言中有特殊含義的標識符,不能用作變量名或其他標識符名稱。可以通過以下代碼查看所有關(guān)鍵字:importkeywordprint(keyword.kwlist)常見的關(guān)鍵字包括:if、else、for、while、def、class、import、from、return等。這些詞構(gòu)成了Python語言的基本語法結(jié)構(gòu),理解它們的用法是掌握Python編程的基礎(chǔ)。變量的概念與定義變量的本質(zhì)在Python中,變量本質(zhì)上是對對象的引用。當(dāng)我們創(chuàng)建一個變量并賦值時,實際上是創(chuàng)建了一個對象,并將變量名與這個對象關(guān)聯(lián)起來。這種設(shè)計使Python的變量使用非常靈活。變量定義與賦值Python中定義變量非常簡單,不需要事先聲明變量類型。只需使用賦值語句即可創(chuàng)建變量:name="張三"、age=25、is_student=True??梢酝瑫r為多個變量賦值:x,y,z=1,2,3。動態(tài)類型特性Python是動態(tài)類型語言,這意味著變量的類型可以隨時改變。例如:x=10(此時x是整數(shù))、x="hello"(現(xiàn)在x變成了字符串)。這種特性提供了極大的靈活性,但也要求開發(fā)者對變量類型保持清晰的認識。常用數(shù)據(jù)類型概覽數(shù)字類型包括整數(shù)(int)、浮點數(shù)(float)和復(fù)數(shù)(complex)。整數(shù)如10、-5;浮點數(shù)如3.14、-0.001;復(fù)數(shù)如3+4j。Python的整數(shù)精度不受限制,可以處理任意大的數(shù)字。字符串(str)用單引號、雙引號或三引號括起來的字符序列,如'hello'、"world"、'''多行文本'''。Python字符串是不可變的,一旦創(chuàng)建就不能修改。布爾類型(bool)只有兩個值:True和False。用于條件判斷和邏輯運算。在Python中,所有對象都可以被解釋為布爾值,如空字符串、0、None等被視為False。None類型表示"無"或"空"的特殊類型,只有一個值:None。常用于初始化變量或表示函數(shù)沒有返回值。它不等同于0、空字符串或False。數(shù)字類型及操作運算符描述示例+加法5+2=7-減法5-2=3*乘法5*2=10/除法(浮點結(jié)果)5/2=2.5//整除(向下取整)5//2=2%取余5%2=1**冪運算5**2=25Python支持整數(shù)(int)和浮點數(shù)(float)兩種主要的數(shù)字類型。整數(shù)可以是任意大小,而浮點數(shù)遵循IEEE754標準。Python還提供了豐富的數(shù)學(xué)函數(shù),如abs(x)計算絕對值、round(x,n)四舍五入到小數(shù)點后n位等。進制轉(zhuǎn)換是Python的強項,提供了多種內(nèi)置函數(shù):bin()將整數(shù)轉(zhuǎn)換為二進制字符串、oct()轉(zhuǎn)換為八進制字符串、hex()轉(zhuǎn)換為十六進制字符串。反向轉(zhuǎn)換可以使用int()函數(shù)并指定進制,如int('1010',2)將二進制字符串轉(zhuǎn)換為整數(shù)。字符串基礎(chǔ)三引號字符串可包含多行文本,保留格式雙引號字符串可包含單引號單引號字符串可包含雙引號Python字符串是由Unicode字符組成的不可變序列。創(chuàng)建字符串有三種方式:單引號('hello')、雙引號("hello")和三引號('''hello'''或"""hello""")。三種方式功能相同,但有細微差別:單引號中可以包含雙引號而不需要轉(zhuǎn)義,反之亦然;三引號可以跨多行,保留文本格式。字符串拼接使用+運算符,如"hello"+"world"得到"helloworld"。字符串重復(fù)使用*運算符,如"hello"*3得到"hellohellohello"。Python還支持豐富的轉(zhuǎn)義字符,如\n(換行)、\t(制表符)、\\(反斜杠)、\'(單引號)、\"(雙引號)等,用于表示特殊字符。字符串常用方法長度計算使用len()函數(shù)計算字符串的長度(字符數(shù)量)。例如:len("hello")返回5。這是處理字符串時最基本也是最常用的操作之一。查找與替換find()和index()方法用于查找子字符串的位置,如"hello".find("l")返回2;replace()方法用于替換子字符串,如"hello".replace("l","L")返回"heLLo"。大小寫轉(zhuǎn)換upper()將字符串轉(zhuǎn)換為大寫;lower()轉(zhuǎn)換為小寫;capitalize()將首字母大寫;title()將每個單詞的首字母大寫。例如:"hello".upper()返回"HELLO"。分割與合并split()方法將字符串按指定分隔符分割成列表;join()方法將列表中的字符串合并成一個字符串。例如:"-".join(["a","b","c"])返回"a-b-c"。布爾類型與邏輯判斷True值在Python中,非零數(shù)字、非空字符串、非空列表等都會被視為True。True是布爾類型的一個值,在條件判斷中表示條件成立。False值數(shù)字0、空字符串""、空列表[]、None等會被視為False。False是布爾類型的另一個值,在條件判斷中表示條件不成立。邏輯運算布爾值可以通過and(與)、or(或)、not(非)進行邏輯運算,生成新的布爾值。例如:TrueandFalse返回False;TrueorFalse返回True;notTrue返回False。布爾類型是Python中表示"真"和"假"的數(shù)據(jù)類型,只有兩個值:True和False(注意首字母大寫)。布爾值通常用于條件判斷,如if語句、while循環(huán)等。Python中的比較運算符(如==、!=、>、<等)返回的也是布爾值。Python的布爾運算支持短路求值:在and運算中,如果第一個操作數(shù)為False,則不會計算第二個操作數(shù);在or運算中,如果第一個操作數(shù)為True,則不會計算第二個操作數(shù)。這種機制可以提高程序效率,同時也是編寫簡潔代碼的有力工具。數(shù)據(jù)類型轉(zhuǎn)換Python提供了多種內(nèi)置函數(shù)用于數(shù)據(jù)類型轉(zhuǎn)換。最常用的包括:int()將對象轉(zhuǎn)換為整數(shù),如int("123")返回整數(shù)123;float()將對象轉(zhuǎn)換為浮點數(shù),如float("3.14")返回浮點數(shù)3.14;str()將對象轉(zhuǎn)換為字符串,如str(123)返回字符串"123";bool()將對象轉(zhuǎn)換為布爾值,根據(jù)對象的真假性確定返回True或False。當(dāng)進行不同類型的數(shù)字運算時,Python會自動進行類型轉(zhuǎn)換。一般規(guī)則是:如果操作數(shù)中有浮點數(shù),結(jié)果就是浮點數(shù);否則結(jié)果是整數(shù)。例如:3+4.5會自動將整數(shù)3轉(zhuǎn)換為浮點數(shù)進行計算,得到浮點數(shù)7.5。在類型轉(zhuǎn)換過程中,可能會遇到錯誤,如int("abc")會引發(fā)ValueError,因為字符串"abc"無法轉(zhuǎn)換為整數(shù)。運算符基礎(chǔ)算術(shù)運算符用于數(shù)學(xué)計算的基本運算符賦值運算符用于給變量賦值的運算符比較運算符用于對值進行比較的運算符邏輯運算符用于邏輯判斷的運算符Python的算術(shù)運算符包括:加(+)、減(-)、乘(*)、除(/)、整除(//)、取余(%)、冪(**)。其中整除運算符返回的是不大于結(jié)果的最大整數(shù),如7//2返回3;冪運算符用于計算乘方,如2**3返回8。賦值運算符除了基本的=外,還有復(fù)合賦值運算符:+=、-=、*=、/=等,用于簡化操作。例如:x+=5相當(dāng)于x=x+5。運算符有優(yōu)先級規(guī)則,通常冪運算優(yōu)先級最高,其次是乘除,最后是加減??梢允褂美ㄌ?)改變計算順序,提高代碼的可讀性。比較運算符與結(jié)果運算符描述示例結(jié)果==等于5==5True!=不等于5!=6True>大于5>3True<小于5<8True>=大于等于5>=5True<=小于等于5<=4False比較運算符用于比較兩個值之間的關(guān)系,結(jié)果總是返回布爾值True或False。這些運算符可以應(yīng)用于數(shù)字、字符串、列表等多種數(shù)據(jù)類型。對于數(shù)字,比較基于數(shù)值大?。粚τ谧址容^基于字典序(按字符的Unicode值比較)。在Python中,可以使用鏈式比較表達式,如1<x<10,等價于1<xandx<10,但更簡潔易讀。比較不同類型的對象時要小心,如比較數(shù)字和字符串可能會引發(fā)TypeError。另外,is和isnot運算符用于比較對象的身份(是否是同一個對象),而不是值的比較。邏輯與成員運算符邏輯運算符Python中的邏輯運算符包括and、or和not,用于組合多個條件。邏輯與(and):只有當(dāng)所有條件都為True時,結(jié)果才為True;邏輯或(or):只要有一個條件為True,結(jié)果就為True;邏輯非(not):取反,True變?yōu)镕alse,F(xiàn)alse變?yōu)門rue。x=5y=10result=x>0andy<20#Trueresult=x>10ory>5#Trueresult=not(x==5)#False成員運算符in和notin是Python的成員運算符,用于檢查一個值是否存在于序列(如字符串、列表、元組、集合、字典)中。如果存在返回True,否則返回False。對于字典,檢查的是鍵而不是值。fruits=['apple','banana','cherry']result='apple'infruits#Trueresult='orange'notinfruits#Truemessage='Hello,world!'result='Hello'inmessage#True成員運算符在處理大型集合時非常有用,可以快速判斷一個元素是否存在,而不需要遍歷整個集合。輸入與輸出函數(shù)獲取用戶輸入使用input()函數(shù)從用戶獲取數(shù)據(jù)類型轉(zhuǎn)換將輸入轉(zhuǎn)換為合適的數(shù)據(jù)類型處理數(shù)據(jù)對數(shù)據(jù)進行計算或操作輸出結(jié)果使用print()函數(shù)展示處理結(jié)果input()函數(shù)用于接收用戶輸入,返回的總是字符串類型。如果需要數(shù)值類型,需要進行顯式轉(zhuǎn)換,例如:age=int(input("請輸入年齡:"))。input()函數(shù)接受一個可選參數(shù)作為提示信息,顯示給用戶。當(dāng)程序執(zhí)行到input()時,程序會暫停,等待用戶輸入并按回車鍵。print()函數(shù)用于向標準輸出(通常是屏幕)打印內(nèi)容。它可以接受多個參數(shù),用逗號分隔,默認以空格連接??梢酝ㄟ^sep參數(shù)修改分隔符,通過end參數(shù)修改結(jié)尾符(默認是換行符\n)。例如:print("姓名","年齡",sep=":",end="!\n")會輸出"姓名:年齡!"并換行。print()還支持格式化輸出,可以使用%運算符、format()方法或f-字符串(Python3.6+)。基本條件語句if語句條件判斷if條件表達式:代碼塊1elif條件表達式:代碼塊2else:代碼塊3條件求值Python會依次評估每個條件,執(zhí)行第一個為True的分支,如果所有條件都為False,則執(zhí)行else分支(如果存在)。代碼縮進Python使用縮進來標識代碼塊,通常是4個空格。同一代碼塊的所有語句必須對齊。if語句是Python中最基本的條件控制結(jié)構(gòu),用于根據(jù)條件執(zhí)行不同的代碼。完整的if語句包含if、elif(可選,可以有多個)和else(可選)三部分。if和elif后面必須跟條件表達式,條件表達式的結(jié)果會被解釋為布爾值。在實際編程中,可以靈活使用if語句。最簡單的形式是只有if部分;更復(fù)雜的情況可以有多個elif部分,用于處理多種可能的情況。if語句可以嵌套,即在一個if語句內(nèi)部再使用if語句,但要注意控制邏輯復(fù)雜度,保持代碼可讀性。嵌套與多重判斷簡單條件單一if語句,處理基本判斷多重條件使用if-elif-else處理多種情況嵌套條件在if語句內(nèi)部再使用if語句復(fù)合條件使用邏輯運算符組合多個條件嵌套if語句是在一個if語句的代碼塊中再包含另一個if語句,用于處理更復(fù)雜的條件判斷。例如:if條件1:if條件2:#條件1和條件2都為True時執(zhí)行else:#條件1為True但條件2為False時執(zhí)行else:#條件1為False時執(zhí)行多重判斷可以使用if-elif-else結(jié)構(gòu)或使用邏輯運算符(and、or、not)組合多個條件。使用邏輯運算符通常可以讓代碼更簡潔,但要注意運算符的優(yōu)先級和結(jié)合性。在復(fù)雜的條件判斷中,建議使用括號明確表達意圖,提高代碼可讀性。嵌套層次過多會降低代碼可讀性,應(yīng)盡量避免過深的嵌套,可以考慮提前返回或使用邏輯運算符組合條件。循環(huán)結(jié)構(gòu)for循環(huán)列表迭代for循環(huán)最常見的用法是遍歷列表、元組或字符串等可迭代對象的元素。例如:foriteminfruits:遍歷水果列表;forcharin"hello":遍歷字符串中的每個字符。范圍迭代range()函數(shù)用于生成一個整數(shù)序列,常與for循環(huán)配合使用。range(n)生成0到n-1的序列;range(start,stop)生成start到stop-1的序列;range(start,stop,step)可以指定步長。高級用法enumerate()函數(shù)可以同時獲取索引和值:forindex,valueinenumerate(list)。zip()函數(shù)可以同時遍歷多個序列:forx,yinzip(list1,list2)。這些技巧可以使for循環(huán)更加靈活高效。while循環(huán)結(jié)構(gòu)條件檢查while循環(huán)在每次迭代前檢查條件。如果條件為True,則執(zhí)行循環(huán)體;如果條件為False,則跳出循環(huán)。條件必須在某個時刻變?yōu)镕alse,否則會形成無限循環(huán)。循環(huán)體執(zhí)行條件為True時,執(zhí)行循環(huán)體中的代碼。通常,循環(huán)體中會包含修改條件的語句,使得條件最終會變?yōu)镕alse,循環(huán)可以結(jié)束。條件更新循環(huán)體執(zhí)行完畢后,再次檢查條件。這個過程會一直重復(fù),直到條件變?yōu)镕alse。如果沒有適當(dāng)更新條件,可能會導(dǎo)致死循環(huán)。循環(huán)控制break語句可以立即跳出整個循環(huán),無論條件是否為True;continue語句可以跳過當(dāng)前迭代,直接進入下一次循環(huán)。這些關(guān)鍵字提供了更靈活的循環(huán)控制方式。綜合練習(xí):猜數(shù)字游戲游戲規(guī)則猜數(shù)字游戲是一個簡單而有趣的Python程序,它隨機生成一個1到100之間的整數(shù),然后讓玩家猜這個數(shù)字。每次猜測后,程序會給出提示:猜測的數(shù)字是太大、太小還是正確。玩家可以根據(jù)提示不斷調(diào)整猜測,直到猜中為止。這個游戲看似簡單,但它結(jié)合了多個Python基礎(chǔ)知識點:隨機數(shù)生成、變量、輸入輸出、類型轉(zhuǎn)換、條件判斷、循環(huán)結(jié)構(gòu)等,是初學(xué)者練習(xí)編程的絕佳案例。importrandom#生成1-100之間的隨機數(shù)secret=random.randint(1,100)print("我想了一個1到100之間的數(shù)字,你能猜出來嗎?")guess=0tries=0#循環(huán)直到猜中數(shù)字whileguess!=secret:#獲取玩家輸入guess_str=input("請輸入你的猜測:")
#嘗試將輸入轉(zhuǎn)換為整數(shù)try:guess=int(guess_str)exceptValueError:print("請輸入有效的數(shù)字!")continue
tries+=1
#判斷猜測結(jié)果ifguess<secret:print("太小了!再試一次。")elifguess>secret:print("太大了!再試一次。")print(f"恭喜你!猜中了數(shù)字{secret},用了{tries}次。")列表(list)基本用法創(chuàng)建列表可以使用方括號[]創(chuàng)建空列表或包含初始元素的列表:empty_list=[]、numbers=[1,2,3,4,5]、mixed=[1,"hello",True,3.14]。列表可以包含任意類型的元素,甚至可以包含其他列表(嵌套列表)。訪問元素使用索引訪問列表元素,索引從0開始:numbers[0]返回第一個元素。負索引從列表末尾開始計數(shù):numbers[-1]返回最后一個元素。切片可以獲取列表的一部分:numbers[1:4]返回索引1到3的元素(不包括4)。修改列表列表是可變的,可以通過索引直接修改元素:numbers[0]=10??梢允褂胊ppend()添加元素到末尾,insert()在指定位置插入元素,remove()刪除指定值的元素,pop()刪除并返回指定索引的元素(默認為最后一個)。列表常用方法方法描述示例append()在列表末尾添加一個元素fruits.append("orange")extend()將另一個列表的元素添加到列表末尾fruits.extend(["grape","kiwi"])insert()在指定位置插入元素fruits.insert(1,"banana")remove()刪除指定值的第一個匹配項fruits.remove("apple")pop()刪除并返回指定索引的元素last_fruit=fruits.pop()sort()對列表進行排序numbers.sort()reverse()反轉(zhuǎn)列表元素的順序fruits.reverse()列表是Python中最常用的數(shù)據(jù)結(jié)構(gòu)之一,掌握其常用方法可以大大提高編程效率。sort()方法可對列表進行原地排序,默認是升序;如果要降序排序,可以使用reverse=True參數(shù)。count()方法可以計算指定元素在列表中出現(xiàn)的次數(shù)。index()方法返回指定元素在列表中第一次出現(xiàn)的索引。列表的復(fù)制需要特別注意,簡單的賦值只是創(chuàng)建了對同一列表的引用,而不是復(fù)制列表。要創(chuàng)建列表的副本,可以使用切片[:](淺拷貝)或copy模塊中的deepcopy()函數(shù)(深拷貝)。此外,列表推導(dǎo)式是一種創(chuàng)建新列表的簡潔方法,如[x*2forxinrange(5)]創(chuàng)建[0,2,4,6,8]。元組(tuple)元組的基本特性元組是Python中的一種不可變序列類型,與列表類似,但一旦創(chuàng)建就不能修改。元組使用圓括號()創(chuàng)建:empty_tuple=()、single_item=(1,)(注意單元素元組需要逗號)、numbers=(1,2,3,4,5)。元組也可以不使用括號創(chuàng)建:coordinates=10,20。元組的不可變性使其成為保存不應(yīng)更改的數(shù)據(jù)的理想選擇,如坐標點、RGB顏色值等。元組也可以作為字典的鍵,而列表不行。雖然元組本身不可變,但如果元組包含可變對象(如列表),那么這些對象的內(nèi)容仍然可以修改。元組操作與解包元組支持與列表類似的索引和切片操作:coordinates[0]、coordinates[-1]、coordinates[1:3]。但不支持修改元素的操作,如append()、remove()等。元組的常見方法包括count()(計算元素出現(xiàn)次數(shù))和index()(查找元素索引)。元組解包是Python的一個強大特性,可以將元組的元素同時賦值給多個變量:x,y=coordinates將(10,20)解包為x=10,y=20。這在函數(shù)返回多個值時特別有用,函數(shù)可以返回一個元組,調(diào)用者可以直接解包獲取各個返回值:name,age,gender=get_person_info()。字典(dict)基礎(chǔ)知識鍵值結(jié)構(gòu)字典是Python中的映射類型,由鍵值對組成。鍵必須是不可變類型(如字符串、數(shù)字、元組),而值可以是任意類型。字典使用花括號{}創(chuàng)建:empty_dict={}、person={"name":"張三","age":30}。訪問與修改通過鍵訪問和修改字典中的值:person["name"]返回"張三"、person["age"]=31更新年齡。如果訪問不存在的鍵,會引發(fā)KeyError。使用get()方法可以避免這個錯誤:person.get("height",175),如果鍵不存在,返回默認值(此處為175)。增刪操作添加新鍵值對:person["gender"]="男"。刪除鍵值對:delperson["age"]或使用pop()方法,pop()會返回刪除的值。clear()方法可以清空整個字典。判斷鍵是否存在可以使用in操作符:if"name"inperson:遍歷字典可以遍歷字典的鍵、值或鍵值對:forkeyinperson:(遍歷鍵)、forvalueinperson.values():(遍歷值)、forkey,valueinperson.items():(遍歷鍵值對)。字典是無序的,但從Python3.7開始,字典會保持插入順序。字典常用內(nèi)置方法get()items()keys()values()update()pop()其他字典的keys()、values()和items()方法分別返回字典的鍵、值和鍵值對視圖對象,這些對象會隨著字典的變化而變化。在Python3中,這些方法返回的不是列表,而是視圖對象,如果需要列表,可以使用list()函數(shù)轉(zhuǎn)換。get()方法是一個非常實用的字典方法,它允許在訪問不存在的鍵時提供一個默認值,而不是引發(fā)KeyError。update()方法可以合并兩個字典,或者批量更新鍵值對。setdefault()方法可以在鍵不存在時設(shè)置默認值并返回,存在時則直接返回值,這在處理嵌套數(shù)據(jù)結(jié)構(gòu)時特別有用。集合(set)數(shù)據(jù)結(jié)構(gòu)集合特性集合是Python中的一種無序、不重復(fù)元素的集合,類似于數(shù)學(xué)中的集合概念。集合使用花括號{}或set()函數(shù)創(chuàng)建:empty_set=set()(不能用{}創(chuàng)建空集合,因為這表示空字典)、fruits={"apple","banana","cherry"}。集合的主要特點是:元素不重復(fù),如果添加重復(fù)元素,集合會自動去重;元素必須是不可變類型(如字符串、數(shù)字、元組);集合是無序的,不能通過索引訪問元素。集合操作添加元素:add()方法添加單個元素,update()方法添加多個元素。刪除元素:remove()方法(如果元素不存在會引發(fā)KeyError)或discard()方法(如果元素不存在不會引發(fā)錯誤)。集合支持數(shù)學(xué)中的集合運算:并集(|或union())、交集(&或intersection())、差集(-或difference())、對稱差集(^或symmetric_difference())。這些操作可以高效地處理元素的重復(fù)、比較和過濾。應(yīng)用場景集合最常用的場景是去除列表中的重復(fù)元素:unique_list=list(set(original_list))。集合也可以用于成員檢測(使用in操作符),對于大數(shù)據(jù)集來說,檢測速度比列表快得多。在數(shù)據(jù)處理中,集合常用于查找共同元素或差異元素。例如,找出兩個列表的共同元素:common=set(list1)&set(list2);找出只在list1中存在的元素:unique_to_list1=set(list1)-set(list2)。數(shù)據(jù)結(jié)構(gòu)小練習(xí)現(xiàn)在,讓我們通過一個綜合練習(xí)來鞏固對Python數(shù)據(jù)結(jié)構(gòu)的理解。假設(shè)我們有一個學(xué)生成績數(shù)據(jù)集,需要進行處理和分析。我們將使用列表、元組、字典和集合來完成不同的任務(wù):使用列表存儲所有學(xué)生的姓名;使用元組存儲每個學(xué)生的科目和成績;使用字典建立學(xué)生姓名到成績的映射;使用集合找出通過考試的學(xué)生。這個練習(xí)將幫助你理解不同數(shù)據(jù)結(jié)構(gòu)的特點和適用場景。例如,列表適合存儲有序數(shù)據(jù)并隨時修改;元組適合存儲不變的數(shù)據(jù),如某次考試的固定成績;字典適合通過鍵快速查找數(shù)據(jù),如根據(jù)學(xué)生姓名查詢成績;集合適合去重和集合運算,如找出所有通過考試的學(xué)生。通過這種實際應(yīng)用,你可以更好地理解和掌握Python的數(shù)據(jù)結(jié)構(gòu)。函數(shù)的定義與調(diào)用函數(shù)定義使用def關(guān)鍵字定義函數(shù),后跟函數(shù)名和括號,括號中可以包含參數(shù)列表。函數(shù)體是縮進的代碼塊,可以使用return語句返回值(如果沒有return,函數(shù)默認返回None)。defgreet(name):"""打招呼函數(shù)"""returnf"你好,{name}!"函數(shù)調(diào)用使用函數(shù)名和括號調(diào)用函數(shù),括號中傳入?yún)?shù)。函數(shù)調(diào)用可以作為表達式的一部分,如賦值語句中。可以將函數(shù)調(diào)用的結(jié)果賦值給變量。message=greet("張三")print(message)#輸出:你好,張三!參數(shù)傳遞函數(shù)定義中的參數(shù)稱為形參,調(diào)用時傳入的參數(shù)稱為實參。Python中的參數(shù)傳遞是通過引用傳遞的,這意味著對可變對象的修改在函數(shù)內(nèi)外都可見。defadd_item(lst,item):lst.append(item)returnlstmy_list=[1,2,3]add_item(my_list,4)#my_list現(xiàn)在是[1,2,3,4]函數(shù)參數(shù)與默認值位置參數(shù)按照函數(shù)定義中參數(shù)的順序傳遞的參數(shù)。調(diào)用函數(shù)時,必須提供所有必需的位置參數(shù),順序必須匹配函數(shù)定義。關(guān)鍵字參數(shù)通過參數(shù)名顯式指定的參數(shù)。使用關(guān)鍵字參數(shù)可以不按順序傳遞參數(shù),但不能在位置參數(shù)之后使用位置參數(shù)。默認參數(shù)在函數(shù)定義時指定默認值的參數(shù)。如果調(diào)用函數(shù)時不提供這些參數(shù),將使用默認值。有默認值的參數(shù)必須放在沒有默認值的參數(shù)之后。不定長參數(shù)使用*args接收任意數(shù)量的位置參數(shù),以元組形式存儲;使用**kwargs接收任意數(shù)量的關(guān)鍵字參數(shù),以字典形式存儲。函數(shù)參數(shù)是Python中靈活而強大的特性。位置參數(shù)是最基本的形式,如defadd(a,b):中的a和b。關(guān)鍵字參數(shù)允許通過名稱指定參數(shù),如add(b=5,a=3),這使得代碼更具可讀性,尤其是當(dāng)函數(shù)有多個參數(shù)時。默認參數(shù)值在函數(shù)定義時指定,如defgreet(name,greeting="你好"):,這樣如果不提供greeting參數(shù),將使用"你好"作為默認值。使用*args和**kwargs可以定義接受任意數(shù)量參數(shù)的函數(shù),如deffunc(*args,**kwargs):,這在不確定需要多少參數(shù)或編寫包裝函數(shù)時特別有用。局部變量與全局變量局部變量在函數(shù)內(nèi)部定義的變量稱為局部變量,只在函數(shù)內(nèi)部可見,函數(shù)執(zhí)行完畢后銷毀。如果函數(shù)內(nèi)部的變量與全局變量同名,那么在函數(shù)內(nèi)部會優(yōu)先使用局部變量,不會影響全局變量。全局變量在函數(shù)外部定義的變量稱為全局變量,可以在程序的任何地方訪問。在函數(shù)內(nèi)部可以讀取全局變量的值,但如果嘗試修改全局變量,需要使用global關(guān)鍵字聲明,否則會創(chuàng)建一個同名的局部變量。global關(guān)鍵字global關(guān)鍵字用于在函數(shù)內(nèi)部聲明變量為全局變量,例如:globalx。使用global后,函數(shù)內(nèi)對該變量的所有操作都是對全局變量的操作。這種機制使函數(shù)能夠修改全局狀態(tài),但應(yīng)謹慎使用,以避免代碼難以維護。遞歸函數(shù)簡介函數(shù)調(diào)用自身遞歸函數(shù)直接或間接調(diào)用自己基本情況處理必須有終止條件以避免無限遞歸問題分解將原問題分解為更小的子問題遞歸是一種函數(shù)調(diào)用自身的編程技術(shù),常用于解決可以分解為相似子問題的問題。遞歸函數(shù)必須包含至少一個基本情況(basecase)和至少一個遞歸情況(recursivecase)?;厩闆r是不再調(diào)用自身的情況,用于終止遞歸;遞歸情況是調(diào)用自身的情況,通常處理更小的子問題。典型的遞歸示例是計算階乘:n!=n*(n-1)!,其中0!=1是基本情況。deffactorial(n):ifn==0:#基本情況return1else:#遞歸情況returnn*factorial(n-1)遞歸的優(yōu)點是代碼簡潔、直觀,特別適合解決有遞歸定義的問題,如樹結(jié)構(gòu)遍歷、排列組合等。缺點是可能導(dǎo)致棧溢出(如果遞歸深度過大)和效率問題(可能有重復(fù)計算)。在Python中,遞歸深度受到限制,默認為1000,可以通過sys.setrecursionlimit()修改,但需謹慎使用。匿名函數(shù)與lambda表達式lambda表達式基礎(chǔ)lambda表達式是一種創(chuàng)建小型匿名函數(shù)的方式,使用lambda關(guān)鍵字,后跟參數(shù)列表、冒號和表達式。lambda表達式只能包含一個表達式,不能包含語句或多行代碼。它的基本語法是:lambda參數(shù)1,參數(shù)2,...:表達式例如,定義一個計算兩數(shù)之和的lambda函數(shù):add=lambdax,y:x+yprint(add(3,5))#輸出:8lambda表達式創(chuàng)建的函數(shù)對象與def創(chuàng)建的函數(shù)對象本質(zhì)上相同,只是沒有名字(匿名)且只能包含一個表達式。實用場景l(fā)ambda表達式最常用于需要函數(shù)對象作為參數(shù)的情況,如排序函數(shù)sorted()的key參數(shù):students=[('張三',85),('李四',92),('王五',78)]sorted_students=sorted(students,key=lambdax:x[1])#按成績排序:[('王五',78),('張三',85),('李四',92)]與高階函數(shù)結(jié)合使用也是常見用法:map():將函數(shù)應(yīng)用于可迭代對象的每個元素list(map(lambdax:x*2,[1,2,3,4]))#[2,4,6,8]filter():過濾出滿足條件的元素list(filter(lambdax:x>5,[3,6,2,8,1]))#[6,8]reduce():累積應(yīng)用函數(shù)(需要fromfunctoolsimportreduce)fromfunctoolsimportreducereduce(lambdax,y:x+y,[1,2,3,4,5])#15(1+2+3+4+5)模塊與包的基礎(chǔ)模塊概念模塊是包含Python定義和語句的文件,以.py為擴展名。模塊可以包含函數(shù)、類、變量等,通過導(dǎo)入可以在其他Python腳本中使用。模塊的作用是組織相關(guān)代碼,提高代碼的可維護性和重用性。導(dǎo)入語法使用import語句導(dǎo)入模塊:importmath。使用from...import導(dǎo)入模塊中的特定對象:frommathimportsin,cos。使用as關(guān)鍵字為模塊或?qū)氲膶ο笾付▌e名:importnumpyasnp。如果同時需要多個模塊,可以在一行導(dǎo)入:importos,sys。包的概念包是一種特殊的模塊,它包含多個模塊,以目錄形式組織。包必須包含一個名為__init__.py的文件(在Python3.3+中可以省略,但保留它是一個好習(xí)慣)。包的作用是進一步組織模塊,形成層次結(jié)構(gòu),如:importpackage.subpackage.module。常用內(nèi)置模塊Python的標準庫包含許多內(nèi)置模塊,為開發(fā)者提供了豐富的功能。math模塊提供數(shù)學(xué)函數(shù)和常量,如math.sin(),math.cos(),math.pi等,適用于科學(xué)計算和數(shù)學(xué)運算。random模塊用于生成隨機數(shù)和進行隨機操作,如random.randint(a,b)生成a到b之間的隨機整數(shù),random.choice(seq)從序列中隨機選擇一個元素,random.shuffle(lst)隨機打亂列表。datetime模塊處理日期和時間,提供了datetime、date、time等類,可以進行日期時間計算、格式化和解析。os模塊提供與操作系統(tǒng)交互的功能,如文件和目錄操作(os.path.join(),os.listdir()),環(huán)境變量訪問(os.environ),進程管理等。sys模塊提供了訪問Python解釋器的一些變量和函數(shù),如命令行參數(shù)(sys.argv)、Python版本信息(sys.version)等。這些模塊共同構(gòu)成了Python強大的標準庫生態(tài)系統(tǒng)。自定義模塊與包創(chuàng)建模塊創(chuàng)建一個.py文件,其中包含函數(shù)、類或變量定義。文件名(不包括.py擴展名)將成為模塊名。例如,創(chuàng)建一個名為my_math.py的文件,包含自定義數(shù)學(xué)函數(shù),這將創(chuàng)建一個名為my_math的模塊。創(chuàng)建包創(chuàng)建一個目錄,其中包含一個__init__.py文件(可以為空)和其他模塊文件。目錄名將成為包名。例如,創(chuàng)建一個名為my_package的目錄,其中包含__init__.py和一些模塊文件,這將創(chuàng)建一個名為my_package的包。配置__init__.py__init__.py文件可以為空,也可以包含代碼,它會在導(dǎo)入包時自動執(zhí)行。通常用于初始化包、定義__all__變量(控制frompackageimport*行為)或直接導(dǎo)入子模塊,使它們可以通過包直接訪問。導(dǎo)入自定義模塊/包使用import語句導(dǎo)入自定義模塊或包,方式與導(dǎo)入內(nèi)置模塊相同。Python會從sys.path列表中的目錄查找模塊和包。如果模塊不在這些目錄中,可以將其添加到sys.path。pip與第三方庫安裝pip簡介pip是Python的包管理工具,用于安裝和管理第三方庫。它是Python官方推薦的包管理器,隨Python3.4+版本自動安裝。pip從Python包索引(PyPI)中下載包,PyPI是Python社區(qū)維護的包存儲庫,包含了成千上萬的Python庫。基本命令安裝包:pipinstallpackage_name(安裝最新版本)或pipinstallpackage_name==1.0.0(安裝指定版本)。卸載包:pipuninstallpackage_name。升級包:pipinstall--upgradepackage_name或pipinstall-Upackage_name。列出已安裝的包:piplist或pipfreeze。搜索包:pipsearchkeyword(注意:此功能可能受到限制)。常用第三方庫requests:用于發(fā)送HTTP請求,比內(nèi)置的urllib更簡單易用。numpy:用于科學(xué)計算的基礎(chǔ)庫,提供高性能的數(shù)組和矩陣運算。pandas:用于數(shù)據(jù)分析和操作,提供DataFrame等數(shù)據(jù)結(jié)構(gòu)。matplotlib:用于數(shù)據(jù)可視化,創(chuàng)建各種靜態(tài)、動態(tài)和交互式圖表。Pillow:圖像處理庫,支持打開、操作和保存多種格式的圖像。文件操作基礎(chǔ)打開文件使用open()函數(shù)打開文件,返回一個文件對象。函數(shù)的第一個參數(shù)是文件路徑,第二個參數(shù)是模式(如'r'讀取,'w'寫入,'a'追加)。讀取文件使用read()方法讀取整個文件內(nèi)容,readline()讀取一行,readlines()讀取所有行并返回列表。還可以直接遍歷文件對象讀取每一行。寫入文件使用write()方法寫入字符串,writelines()寫入字符串列表(不會自動添加換行符)。在寫入模式('w')下打開文件會清空文件內(nèi)容。關(guān)閉文件使用close()方法關(guān)閉文件,釋放系統(tǒng)資源。最好在try-finally塊中使用,或使用with語句自動關(guān)閉文件。文件讀寫方法文件類型與模式文本文件和二進制文件是兩種基本的文件類型。文本文件以字符為單位,常用于存儲可讀文本;二進制文件以字節(jié)為單位,用于存儲圖像、音頻等二進制數(shù)據(jù)。打開文件時需要指定相應(yīng)的模式:文本模式:'r'(讀?。?、'w'(寫入)、'a'(追加)、'r+'(讀寫)二進制模式:在文本模式后加'b',如'rb'、'wb'、'ab'、'r+b'例如,打開二進制文件用于讀取:open('image.jpg','rb')with語句與文件遍歷使用with語句(上下文管理器)是處理文件的推薦方式,它能確保文件被正確關(guān)閉,即使發(fā)生異常也是如此:withopen('file.txt','r')asf:content=f.read()遍歷文件內(nèi)容有多種方法,最常用的是直接遍歷文件對象,逐行讀?。簑ithopen('file.txt','r')asf:forlineinf:print(line.strip())#strip()移除行尾的換行符處理大文件時,逐行讀取比一次性讀取整個文件更有效率,因為它減少了內(nèi)存使用。如果需要隨機訪問文件內(nèi)容,可以使用seek()方法移動文件指針,tell()方法獲取當(dāng)前位置。異常處理基礎(chǔ)try...except基本結(jié)構(gòu)捕獲并處理可能發(fā)生的異常多異常處理處理不同類型的異常情況finally子句確保資源釋放和清理操作的執(zhí)行else子句無異常發(fā)生時執(zhí)行的代碼塊異常處理是Python錯誤管理的核心機制,它允許程序在出現(xiàn)錯誤時優(yōu)雅地處理而不崩潰。try...except語句用于捕獲和處理異常。try塊包含可能引發(fā)異常的代碼;except塊包含處理異常的代碼??梢灾付ㄒ东@的異常類型,或使用通用except捕獲所有異常(不推薦)。完整的異常處理結(jié)構(gòu)包括try、except、else、finally四個部分:try塊中的代碼可能引發(fā)異常;except塊處理特定類型的異常;else塊在try塊沒有引發(fā)異常時執(zhí)行;finally塊無論是否發(fā)生異常都會執(zhí)行,通常用于資源清理。多個except塊可以處理不同類型的異常,更具體的異常應(yīng)該放在前面。例如:try:result=10/0#引發(fā)ZeroDivisionErrorexceptZeroDivisionError:print("除數(shù)不能為零")exceptExceptionase:print(f"發(fā)生其他異常:{e}")else:print("計算成功")#無異常時執(zhí)行finally:print("無論如何都會執(zhí)行")#總是執(zhí)行常見異常與調(diào)試異常類型描述示例SyntaxError語法錯誤print"Hello"#Python3需要括號NameError使用未定義的變量print(x)#x未定義TypeError類型錯誤,操作或函數(shù)應(yīng)用于不適當(dāng)類型的對象"2"+2#字符串不能與整數(shù)相加ValueError值錯誤,操作或函數(shù)接收到類型正確但值不合適的參數(shù)int("abc")#無法將"abc"轉(zhuǎn)換為整數(shù)IndexError索引錯誤,序列中不存在該索引lst=[1,2,3];lst[5]#索引5超出范圍KeyError鍵錯誤,字典中不存在該鍵d={'a':1};d['b']#鍵'b'不存在FileNotFoundError文件未找到錯誤open("nonexistent.txt")#文件不存在Python提供了raise語句,用于主動拋出異常。這在編寫函數(shù)或庫時特別有用,可以在檢測到不正確的輸入或狀態(tài)時提前終止程序并提供有用的錯誤信息。語法為raiseExceptionType("錯誤信息")。例如:defdivide(a,b):ifb==0:raiseValueError("除數(shù)不能為零")returna/b調(diào)試Python程序的常用技術(shù)包括:使用print()函數(shù)輸出變量值和程序狀態(tài);使用Python內(nèi)置的調(diào)試器pdb(importpdb;pdb.set_trace());使用IDE的調(diào)試功能,如斷點、單步執(zhí)行、變量監(jiān)視等;使用logging模塊記錄日志,比print()更靈活;使用assert語句進行斷言調(diào)試,檢查條件是否滿足。對于復(fù)雜程序,采用結(jié)構(gòu)化的異常處理和全面的日志記錄是良好的實踐。綜合案例1:學(xué)生信息管理功能需求我們將開發(fā)一個簡單的學(xué)生信息管理系統(tǒng),具備以下功能:添加學(xué)生信息(姓名、學(xué)號、成績等);查詢特定學(xué)生信息;修改學(xué)生信息;刪除學(xué)生信息;顯示所有學(xué)生信息;保存和加載數(shù)據(jù)。該系統(tǒng)將綜合運用我們學(xué)過的多個知識點:數(shù)據(jù)結(jié)構(gòu)(列表、字典)、函數(shù)、文件操作、異常處理等。通過實現(xiàn)這個案例,可以鞏固基礎(chǔ)知識,并學(xué)習(xí)如何將不同的知識點整合應(yīng)用到一個完整的程序中。核心代碼classStudentManager:def__init__(self):self.students={}#使用字典存儲學(xué)生信息
defadd_student(self,id,name,age,score):ifidinself.students:raiseValueError(f"學(xué)號{id}已存在")self.students[id]={'name':name,'age':age,'score':score}
defget_student(self,id):ifidnotinself.students:raiseValueError(f"學(xué)號{id}不存在")returnself.students[id]
defupdate_student(self,id,**kwargs):ifidnotinself.students:raiseValueError(f"學(xué)號{id}不存在")forkey,valueinkwargs.items():ifkeyinself.students[id]:self.students[id][key]=value
defdelete_student(self,id):ifidnotinself.students:raiseValueError(f"學(xué)號{id}不存在")delself.students[id]
defshow_all_students(self):returnself.students
defsave_to_file(self,filename):withopen(filename,'w')asf:forid,infoinself.students.items():f.write(f"{id},{info['name']},{info['age']},{info['score']}\n")
defload_from_file(self,filename):self.students.clear()try:withopen(filename,'r')asf:forlineinf:id,name,age,score=line.strip().split(',')self.add_student(id,name,int(age),float(score))exceptFileNotFoundError:print(f"文件{filename}不存在,將創(chuàng)建新文件")綜合案例2:簡單網(wǎng)頁爬蟲功能概述我們將開發(fā)一個簡單的網(wǎng)頁爬蟲,用于獲取網(wǎng)頁內(nèi)容并提取特定信息。該爬蟲將使用requests庫發(fā)送HTTP請求
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西玉林市玉州區(qū)人力資源和社會保障局招聘編外人員4人模擬試卷及答案詳解參考
- 2025安徽淮南市招考村級后備干部81人模擬試卷及答案詳解(必刷)
- 2025廣東茂名市供銷集團有限公司招聘10人模擬試卷及答案詳解(新)
- 2025貴州民族大學(xué)高層次人才引進85人模擬試卷有完整答案詳解
- 2025廣東惠州市龍門縣鄉(xiāng)村公益性崗位招聘26人模擬試卷含答案詳解
- 2025年上半年江西九江市事業(yè)單位“才匯九江”高層次人才招聘373人模擬試卷及答案詳解(網(wǎng)校專用)
- 2025安徽蕪湖鳩江區(qū)招聘區(qū)屬國有企業(yè)領(lǐng)導(dǎo)人員擬聘用人員(二)模擬試卷附答案詳解(黃金題型)
- 2025北京順義區(qū)教委所屬事業(yè)單位招聘131人考前自測高頻考點模擬試題及一套答案詳解
- 2025廣西職業(yè)技術(shù)學(xué)院博士人才專項招聘64人考前自測高頻考點模擬試題及答案詳解(考點梳理)
- 2025安徽醫(yī)科大學(xué)附屬宿州醫(yī)院博士、碩士研究生招聘47人考前自測高頻考點模擬試題及完整答案詳解1套
- 戰(zhàn)火勛章答題題庫及答案
- 流延膜設(shè)備安全操作培訓(xùn)課件
- 醫(yī)學(xué)基礎(chǔ)期末試題及答案
- 2025年放射診療培訓(xùn)試題及答案
- (零模)蘇州市2026屆高三年級期初陽光調(diào)研試卷 歷史試卷(含答案)
- 九年級英語上學(xué)期第一次月考(廣東卷)(原卷版)
- 碼頭生產(chǎn)調(diào)度管理辦法
- 智能巡查機器人系統(tǒng)設(shè)計
- 3.2營造清朗空間教學(xué)設(shè)計 2025-2026學(xué)年統(tǒng)編版道德與法治八年級上冊
- 教科版物理八年級上冊《2.光的反射定律》聽評課記錄2
- (2025年標準)學(xué)生癲癇免責(zé)協(xié)議書
評論
0/150
提交評論