![《Python程序設(shè)計基礎(chǔ)》-課件全套 李麗 項目1-10 Python 基礎(chǔ)知識及環(huán)境搭建-綜合性任務(wù)實踐_第1頁](http://file4.renrendoc.com/view8/M02/13/14/wKhkGWcPRROASMTZAAFERTNTEig266.jpg)
![《Python程序設(shè)計基礎(chǔ)》-課件全套 李麗 項目1-10 Python 基礎(chǔ)知識及環(huán)境搭建-綜合性任務(wù)實踐_第2頁](http://file4.renrendoc.com/view8/M02/13/14/wKhkGWcPRROASMTZAAFERTNTEig2662.jpg)
![《Python程序設(shè)計基礎(chǔ)》-課件全套 李麗 項目1-10 Python 基礎(chǔ)知識及環(huán)境搭建-綜合性任務(wù)實踐_第3頁](http://file4.renrendoc.com/view8/M02/13/14/wKhkGWcPRROASMTZAAFERTNTEig2663.jpg)
![《Python程序設(shè)計基礎(chǔ)》-課件全套 李麗 項目1-10 Python 基礎(chǔ)知識及環(huán)境搭建-綜合性任務(wù)實踐_第4頁](http://file4.renrendoc.com/view8/M02/13/14/wKhkGWcPRROASMTZAAFERTNTEig2664.jpg)
![《Python程序設(shè)計基礎(chǔ)》-課件全套 李麗 項目1-10 Python 基礎(chǔ)知識及環(huán)境搭建-綜合性任務(wù)實踐_第5頁](http://file4.renrendoc.com/view8/M02/13/14/wKhkGWcPRROASMTZAAFERTNTEig2665.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
任務(wù)1認識Python01任務(wù)2安裝與配置Python開發(fā)環(huán)境02任務(wù)3安裝與使用代碼編輯器(VSCode)03任務(wù)4運行第一個Python程序041任務(wù)1認識Python21.了解編程語言的概念、分類和特點2.?了解兩類高級語言(編譯型語言和解釋型語言)的概念和區(qū)別3.?熟悉Python的概念、特點、應(yīng)用領(lǐng)域和常用版本任務(wù)目標3一、編程語言編程語言是一種人與機器交流和溝通的工具,類似于日常使用的中文、英文等,但是溝通的主體與對象從人與人變成了人與機器。編程語言是用來定義計算機程序的形式語言。當我們需要讓計算機做些什么時,會向其發(fā)送一系列指令,這一系列指令就是程序,而編程語言則是這些程序標準化、規(guī)范化的結(jié)果。編程語言也稱“計算機語言”,隨著技術(shù)的發(fā)展而不斷演變。根據(jù)編程語言的發(fā)展階段,可以將其分成機器語言、匯編語言、高級語言三大類。相關(guān)知識41.機器語言機器語言是使用二進制代碼表示的,計算機能直接識別和執(zhí)行的一種機器指令的集合,常用于計算機發(fā)展的早期階段。機器語言是指機器能直接識別的程序語言或指令代碼,無須經(jīng)過翻譯,每一個操作碼在計算機內(nèi)部都由相應(yīng)的電路來完成;或指不經(jīng)過翻譯即可被機器直接理解和接受的程序語言或指令代碼。機器語言使用絕對地址和絕對操作碼。不同的計算機有各自的機器語言,即指令系統(tǒng)。5計算機的設(shè)計者通過計算機的硬件結(jié)構(gòu),使用機器語言賦予計算機操作功能。機器語言具有靈活、直接執(zhí)行和速度快等特點。不同型號的計算機,其使用的機器語言是不相通的。按照一種計算機的機器指令編制的程序,不能在另一種計算機上執(zhí)行。從使用的角度看,機器語言易于計算機理解,但很難編程、調(diào)試和修改,因此現(xiàn)在罕有人使用。62.?匯編語言匯編語言也稱符號語言,是編程語言發(fā)展的第二個階段,常用于底層程序的設(shè)計。為了幫助人們理解與使用匯編語言,常用助記符代替機器指令的操作碼,用地址符或標號代替指令或操作數(shù)的地址。與機器語言相比,匯編語言的可讀性雖然有所提高,但其可移植性仍然很差,對編程人員的要求較高。在不同的設(shè)備中,匯編語言對應(yīng)著不同的機器語言指令集,通過匯編過程轉(zhuǎn)換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應(yīng)的,不同平臺之間不可直接移植。7也正是由于這種機器相關(guān)性,匯編語言執(zhí)行速度快、效率高。匯編語言是計算機提供給用戶的最快、最有效的語言,雖然與高級語言相比,其可讀性還是較差,但是采用匯編語言編寫的程序保持了機器語言直接的特點,用它可以有效地訪問和控制計算機的各種硬件設(shè)備,這是高級語言無法取代的。不過,由于編寫和調(diào)試匯編語言程序要比高級語言程序復雜,因此,通常將其與高級語言配合使用。83.?高級語言高級語言是相對于匯編語言(低級語言)而言的,并不特指某一種具體語言,而是包括很多編程語言在內(nèi),如C語言、Java、Python等。為了提高程序開發(fā)效率,便于開發(fā)人員理解,高級語言是參照數(shù)學語言設(shè)計的較接近于自然語言的編程語言。高級語言基本脫離了機器的硬件系統(tǒng),相對低級語言有較高的可讀性,更易理解。9高級語言作為用戶層面的編程工具,用戶并不需要了解硬件的結(jié)構(gòu),只需要用邏輯語言實現(xiàn)想要的目標。但是,由于高級語言的架構(gòu)高于匯編語言,不能用它編寫直接訪問硬件資源的系統(tǒng)程序,因此,高級語言必須調(diào)用匯編語言編寫的程序來訪問硬件地址。本教材要講解的Python是計算機高級語言的一種。10二、編譯型語言和解釋型語言高級語言的程序源碼較接近自然語言和數(shù)學公式,無法直接執(zhí)行,而計算機的中央處理器(centralprocessingunit,CPU)卻只能識別二進制指令,所以程序在被CPU運行之前必須經(jīng)過一個將源碼轉(zhuǎn)換成二進制指令的過程。根據(jù)將源碼轉(zhuǎn)換成二進制指令的時間不同,將高級語言分為編譯型語言和解釋型語言兩類。111.編譯型語言使用編譯型語言(如C語言、C++等)開發(fā)完成程序后,需要將所有的源碼一次性轉(zhuǎn)換成二進制指令,并生成一個可執(zhí)行文件(如Windows系統(tǒng)中的“.exe”文件等),所使用的轉(zhuǎn)換工具被稱為編譯器,可執(zhí)行程序里面的代碼就是二進制指令形式的機器碼。12編譯型語言具有以下特點。●可脫離開發(fā)環(huán)境運行。由于可執(zhí)行程序里面包含的是已經(jīng)轉(zhuǎn)換完成的二進制指令形式的機器碼,因此在運行程序時,只需要編譯可執(zhí)行程序,不再需要源碼和編譯器,所以編譯型語言可以脫離開發(fā)環(huán)境運行。●可執(zhí)行程序不能跨平臺。不同操作系統(tǒng)對于可執(zhí)行文件的內(nèi)部結(jié)構(gòu)有著截然不同的要求,彼此之間不能兼容。另外,相同操作系統(tǒng)中的不同版本也不一定兼容?!裨创a不能跨平臺。不同平臺支持的函數(shù)、類型、變量等可能會不同,基于某個平臺編寫的源碼一般不能在另一個平臺下編譯。132.解釋型語言解釋型語言每次執(zhí)行程序都需要一邊轉(zhuǎn)換一邊執(zhí)行,用到哪些源碼就將哪些源碼轉(zhuǎn)換成機器碼,而不會像編譯型語言一樣生成一個可執(zhí)行文件,用不到的就不進行任何處理。每次執(zhí)行程序時,用到的功能可能不同,這時需要轉(zhuǎn)換的源碼也不一樣。解釋型語言(如Python、JavaScript、PHP等)所使用的轉(zhuǎn)換工具被稱為解釋器。14解釋型語言具有以下特點。●無法脫離開發(fā)環(huán)境。由于解釋型語言是一邊執(zhí)行一邊轉(zhuǎn)換的,所以需要源碼和解釋器?!裰С挚缙脚_。由于存在針對不同平臺開發(fā)的不同解釋器,因此,解釋型語言的源碼可以在不同的平臺下執(zhí)行,執(zhí)行時使用相應(yīng)的解釋器進行源碼轉(zhuǎn)換?!駡?zhí)行效率低。解釋型語言的執(zhí)行效率低是相對于編譯型語言來說的。因為每次執(zhí)行程序都需要重新轉(zhuǎn)換源碼,所以解釋型語言的執(zhí)行效率偏低,甚至與編譯型語言的執(zhí)行效率存在數(shù)量級的差距。15三、Python基礎(chǔ)知識1.?Python的概念1989年,荷蘭人GuidovanRossum(以下簡稱Guido)發(fā)明了一種面向?qū)ο蟮慕忉屝途幊陶Z言,并將其命名為Python。Python一詞的英文原意是“蟒蛇”,這也是Python的蟒蛇圖標的由來。Python隨著計算機技術(shù)的快速發(fā)展與計算機性能的不斷提升而不斷更新演變,其維護團隊和社區(qū)為其設(shè)計了各種豐富和強大的庫。利用這些庫,Python可以很輕松地和基于其他語言的各種模塊(尤其是C語言和C++)結(jié)合在一起,這也是Python被稱為“膠水”語言的原因。162.?Python的特點Python作為目前被廣泛應(yīng)用的編程語言,具有以下優(yōu)點。●語法、結(jié)構(gòu)簡單。Python具有相對較少的關(guān)鍵字和明確定義的語法,相對于傳統(tǒng)編程語言(如C語言、C++),Python沒有那么嚴格的格式要求,從而降低了學習的門檻。●開源。Python的開源分為兩部分,一是程序員編寫的Python代碼是開源的,可以直接查看其源碼并對其進行相應(yīng)的修改;二是Python的解釋器和模塊是開源的,這樣可以讓所有用戶參與到改進Python性能、彌補Python漏洞的過程中。17●社區(qū)活躍性高。Python擁有眾多可以實現(xiàn)不同功能的模塊,還有著一個發(fā)展良好、活躍的用戶社區(qū),可以輕松實現(xiàn)所有常用的功能。●可拓展性強。Python具有豐富而強大的類庫,這些類庫的底層代碼不一定都是用Python編寫的,還有很多C/C++的“身影”,所以在Python程序中可以很輕松地調(diào)用C/C++程序。18同時,Python具有以下缺點。●運行速度慢。Python是解釋型語言,需要一邊運行一邊轉(zhuǎn)換,并且由于Python是高級語言,屏蔽了許多底層細節(jié),所以在運行時還要多做很多工作,其中的某些工作非常消耗資源,如管理內(nèi)存等,多種原因?qū)е翽ython的運行速度相對較慢?!翊a加密困難。因為Python本身是一種解釋型語言,它的源碼在運行時會被解釋器轉(zhuǎn)換成機器代碼,這就意味著,任何有足夠技術(shù)知識的人都可以查看和修改Python源碼。193.?Python的應(yīng)用領(lǐng)域作為一種入門簡單、功能強大且通用的編程語言,Python一經(jīng)發(fā)布就在國際上廣受好評,市場占有率逐年提高。目前,Python的應(yīng)用領(lǐng)域主要有人工智能、科學計算、Web開發(fā)、系統(tǒng)運維、大數(shù)據(jù)、金融等。204.Python2和Python3的區(qū)別目前,在Python官網(wǎng)中同時發(fā)行了Python2和Python3兩個版本。與Python2相比,Python3在語句輸出、編碼、運算和異常處理等方面做出了一系列調(diào)整。需要注意的是,Python3在設(shè)計時并沒有考慮向下兼容,即許多針對早期的Python版本設(shè)計的程序都沒辦法在Python3上正常執(zhí)行,并且早期版本和Python3的拓展庫之間存在差別,這導致舊系統(tǒng)向新版本遷移時較困難。但相對于Python2,Python3做出的各種改動使其更加合理、高效和人性化。21任務(wù)2
安裝與配置Python開發(fā)環(huán)境221.了解集成開發(fā)環(huán)境的概念和作用。2.能在Windows系統(tǒng)中安裝Python開發(fā)環(huán)境。3.能在Linux系統(tǒng)中安裝Python開發(fā)環(huán)境。任務(wù)目標23集成開發(fā)環(huán)境(intergrateddevelopmentenvironment,IDE)是用于提供程序開發(fā)環(huán)境(即開發(fā)人員用來編寫、測試和調(diào)試代碼的工作環(huán)境)的應(yīng)用程序,一般集成了代碼編輯器、調(diào)試器、編譯器和其他開發(fā)工具的軟件應(yīng)用程序,旨在為程序員提供便捷的程序開發(fā)環(huán)境。所有具備這一特性的軟件或者軟件套(組)都可以稱為集成開發(fā)環(huán)境,如微軟的VisualStudio系列,Borland的C++Builder、Delphi系列等。程序可以獨立運行,也可以和其他程序并用。相關(guān)知識24IDE和代碼編輯器是兩種不同的開發(fā)工具,IDE是一個綜合性的開發(fā)環(huán)境,集成了多種工具,如代碼編輯器、調(diào)試器、編譯器等,旨在為開發(fā)人員提供一站式的開發(fā)體驗;而代碼編輯器專注于文本編輯,提供了基本的代碼編輯功能,但通常不包含其他開發(fā)工具。25從開始在主機或終端機開發(fā)程序起,IDE逐漸成為必要的工具。早期的編程語言在被送進編譯器進行處理之前,必須先經(jīng)過流程圖處理,再撰寫表格、打卡,所以當時并不需要IDE。BASIC(Beginner’sAll-purposeSymbolicInstructionCode,初學者通用符號指令代碼)是第一種有IDE的編程語言,也是第一種可以直接在主機或終端機中開發(fā)程序的編程語言,該IDE以命令行的方式呈現(xiàn),與現(xiàn)代IDE的菜單和圖形界面不同。然而,它卻完整地整合了編輯、文件管理、編譯、調(diào)試、執(zhí)行等功能,具有現(xiàn)代IDE的特性。26IDE將各種命令行開發(fā)工具集成在一起,提供了一個抽象化的工具,從而縮短了開發(fā)人員學習編程語言的時間。IDE并不是把各種功能簡單地拼裝在一起,而是把它們有機地結(jié)合起來,統(tǒng)一在一個圖形化操作界面下,為程序設(shè)計人員提供盡可能高效、便利的服務(wù)。27作為伴隨編程語言發(fā)展而出現(xiàn)的工具,IDE具有以下優(yōu)點?!窆?jié)省時間和精力。IDE的出現(xiàn)讓開發(fā)更加快捷、方便,通過提供各種工具和性能,幫助開發(fā)者組織資源,減少失誤?!裥纬山y(tǒng)一的工作標準。當多名程序設(shè)計人員共用同一開發(fā)環(huán)境時,形成了統(tǒng)一的工作標準。當IDE提供預設(shè)模板或不同團隊共享代碼庫時,這一現(xiàn)象更加明顯。●便于管理開發(fā)工作。首先,IDE提供文檔工具,可自動插入開發(fā)者的注釋,或強制在不同區(qū)域編寫評論。其次,IDE能夠展示資源,方便定位應(yīng)用所在位置,無須費力在文件系統(tǒng)中搜索。28IDE也存在一些缺點,具體如下?!駨碗s度高。一些IDE的界面可能相對復雜,可能使開發(fā)者感到混亂,特別是在首次使用時。●資源占用較大。由于IDE通常包含許多功能和工具,它們可能占用較多的系統(tǒng)資源,導致計算機性能下降,尤其是在使用較久的計算機上?!癫混`活。有些IDE可能對特定的開發(fā)任務(wù)非常好用,但在其他領(lǐng)域可能不太適用,這可能導致開發(fā)者在更廣泛的項目中受到限制。29任務(wù)3
安裝與使用代碼編輯器(VSCode)301.了解Python的主流IDE及各自的特點。2.能在Windows系統(tǒng)中安裝VSCode。3.能在Linux系統(tǒng)中安裝VSCode。任務(wù)目標31一、PyCharmPyCharm帶有一整套可以幫助用戶在使用Python開發(fā)程序時提高工作效率的工具,如調(diào)試、語法高亮、項目管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制等工具。此外,PyCharm還提供了一些高級功能,用于支持Django框架下的專業(yè)網(wǎng)頁開發(fā)。這些功能使PyCharm成為Python專業(yè)開發(fā)人員和入門開發(fā)人員的有力工具。PyCharm允許創(chuàng)建插件來增強用戶體驗,合理利用插件還能進一步提升編程體驗。然而PyCharm存在內(nèi)存消耗大和物理磁盤空間占用偏高、啟動速度慢、界面復雜、體量“臃腫”等問題,初學者想要熟練使用PyCharm還需要一定的練習時間?;A(chǔ)知識3233二、VSCodeVSCode是微軟公司開發(fā)的強大的跨平臺源碼編輯器,是一個較完整的開發(fā)工具集,它包括整個開發(fā)調(diào)試周期需要的絕大部分工具,如統(tǒng)一建模語言(unifiedmodelinglanguage,UML)工具、IDE等,具有完備的代碼開發(fā)、調(diào)試、管理功能。VSCode還專門針對提高編程速度這一點進行了一系列調(diào)整和優(yōu)化,其強大的自動補全功能以及各種人性化的功能快捷鍵,不論對編程速度還是編程體驗,都有大幅提升。此外,VSCode支持豐富的插件拓展,工程師們?yōu)榱颂峁└玫木幊腆w驗,開發(fā)了具有如一鍵注釋、拼寫檢查、縮進檢查等功能的插件。配合插件進行編程,編程體驗會大幅提升。34三、SublimeTextSublimeText是一個代碼編輯器,也是超文本標記語言的文本編輯器。SublimeText是由程序員JonSkinner于2008年1月開發(fā)的,它最初被設(shè)計為一個具有豐富拓展功能的Vim插件。SublimeText具有美觀的用戶界面和強大的功能,如具有代碼縮略圖、代碼段等工具,此外,可以自定義按鍵綁定菜單和工具欄。SublimeText的主要功能包括拼寫檢查、即時項目切換、多選擇、多窗口等。SublimeText是一個跨平臺的編輯器,同時支持Windows、Linux、macOS等系統(tǒng)。然而,SublimeText存在更新緩慢、界面友好程度差、插件安裝速度緩慢甚至時常安裝失敗等問題,因此初學者學習使用該軟件要花費不少的時間。35四、AtomAtom是GitHub(面向開源及私有軟件項目的托管平臺)專門為程序設(shè)計人員推出的一個跨平臺文本編輯器,具有簡潔、直觀的用戶界面,并且支持CSS、HTML、JavaScript等網(wǎng)頁編程語言。它支持宏,可自動實現(xiàn)分屏功能,同時集成了文件管理器。Atom具有強大的開發(fā)維護團隊,而且是開源項目,因此修復錯誤的速度快,生態(tài)圈成長速度快;插件管理到位,能準確找到出問題的插件。然而,Atom受限于其性能問題,啟動速度非常緩慢,使用Atom打開大文件時經(jīng)常出現(xiàn)CPU占用過高的問題。因此,使用Atom進行編程對編程者的計算機性能提出了一定的要求。36五、EclipseEclipse是一個開放源碼、基于Java的可拓展開發(fā)平臺。Eclipse還包括插件開發(fā)環(huán)境(plug-indevelopmentenvironment,PDE),這個組件可用于拓展Eclipse的功能,它允許工具開發(fā)人員構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每種東西都是插件,對于給Eclipse提供插件以及給用戶提供一致的和統(tǒng)一的IDE而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所,因此可以將Eclipse配置成一個Python開發(fā)環(huán)境,并且有多處可供自定義。然而,將Eclipse配置成Python開發(fā)環(huán)境的步驟較多且相對比較復雜,需要開發(fā)人員具備較好的專業(yè)能力。在以上所介紹的IDE中,輕量化的IDE有VSCode、SublimeText、Atom,而體量大、功能多的IDE有PyCharm、Eclipse。任務(wù)4
運行第一個Python程序371.了解Python的編程規(guī)范。2.了解Python的編程方式。3.能使用IDLE進行交互式編程和編寫源文件式編程。4.能使用VSCode進行編寫源文件式編程。任務(wù)目標38一、Python的編程規(guī)范良好的編程習慣不僅能夠提高編程效率,還能夠提高編寫的程序的可讀性。由于程序的開發(fā)需要開發(fā)者之間有效的溝通與協(xié)作,經(jīng)常出現(xiàn)需要閱讀源碼的情況,因此編寫的源碼的可讀性十分重要?;A(chǔ)知識391.命名規(guī)則Python對于標識符的命名非常頻繁。標識符是一個名稱,其作用是作為模塊、函數(shù)、變量、類以及其他對象的名稱。(1)Python標識符是由字符(A~Z和a~z)、下畫線和數(shù)字組成的,但第一個字符不能是數(shù)字。(2)Python標識符不能和Python中的保留字相同。(3)Python標識符不能包含空格、@、%和$等特殊字符。(4)Python標識符嚴格區(qū)分大小寫,兩個單詞拼寫相同而大小寫不同,對應(yīng)的標識符是不同的,彼此之間是完全獨立的個體。(5)Python允許使用漢字作為標識符。40在Python中,以下畫線作為開頭的標識符往往具有特殊含義,具體如下?!褚詥蜗庐嬀€開頭的標識符(如_width)表示不能直接訪問的類對象屬性,無法通過from...import的方式導入?!褚噪p下畫線開頭的標識符(如__add)表示類的私有成員?!褚詥蜗庐嬀€開頭和結(jié)尾的標識符(如_init_)是專用標識符。41此外,標識符作為不同對象的名稱時,其規(guī)則也不相同,具體如下?!衲K/包名:全為小寫字母,單詞簡單,意義明確,如果需要,可以使用下畫線,如math、sys、math_tools等?!窈瘮?shù)名:全為小寫字母,可以使用下畫線增加可讀性,如foo()、my_func()等。●變量名:全為小寫字母或全為大寫字母,可以使用下畫線增加可讀性,如age、my_var、TEM、NUM、RATE、TOTAL_COUNT等?!耦惷翰捎门了箍?,即由多個單詞組成名稱,每個單詞除第一個字母大寫外,其余的字母均小寫,如MyNumber等。422.編碼風格約定Python編碼風格應(yīng)遵守的規(guī)則如下。(1)使用空格鍵進行縮進,而不用“Tab”鍵。(2)和語法相關(guān)的每一層縮進都需要用到4個空格。(3)通常情況下,在運算符兩側(cè)、函數(shù)參數(shù)之間以及逗號兩側(cè),都建議使用空格進行分隔。(4)每行的字符長度不應(yīng)大于80,采用ASCII或UTF-8編碼文件。(5)使用空行分隔函數(shù)和類,以及函數(shù)內(nèi)的大塊代碼。(6)不要在行尾添加分號,也不要用分號將兩條指令放在同一行。(7)按照一致的命名風格命名類和函數(shù)。433.注釋注釋用來向用戶提示或解釋某些代碼的作用和功能,它可以出現(xiàn)在代碼中的任何位置。Python解釋器在執(zhí)行代碼時會識別并忽略注釋,不做任何處理。注釋的最大作用是提高程序的可讀性。沒有注釋的代碼,會給他人閱讀此代碼帶來困擾,因此在編寫代碼時,務(wù)必加上相應(yīng)的注釋。一般情況下,合理的代碼注釋應(yīng)占源碼的1/3左右。Python支持單行注釋和多行注釋。單行注釋使用#符號注釋單行內(nèi)容,使用示例如下。#這是一個注釋print(''Hello,World!'')44多行注釋使用三個連續(xù)的單引號'''或者三個連續(xù)的雙引號''''''注釋多行內(nèi)容,使用示例如下。'''這是多行注釋,用三個單引號這是多行注釋,用三個單引號'''print(''Hello,World!'')45''''''這是多行注釋(字符串),用三個雙引號這是多行注釋(字符串),用三個雙引號''''''print(''Hello,World!'')464.?多行語句前面提到,Python代碼每行的字符長度不應(yīng)大于80。當需要輸入字符長度大于80的長語句時,可以使用續(xù)行符號“\”分成多行編寫。續(xù)行符號的使用示例如下。a=1+2+3\+4print(a)#程序運行結(jié)果如下。10475.?關(guān)鍵字與大小寫Python關(guān)鍵字即保留字,保留字是Python中已經(jīng)被賦予特定意義并帶有特殊功能的單詞,所以在開發(fā)程序時,不得用這些保留字為其他對象命名,不然會出現(xiàn)錯誤。Python中所有的保留字見下表。48Python中所有的保留字49Python中所有的保留字Python中包含的保留字可以使用下面的指令來查看。>>>importkeyword>>>keyword.kwlist['False','None','True','__peg_parser__','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']50Python嚴格區(qū)分大小寫,保留字也不例外。將保留字的大小寫進行修改后,可以將其用作標識符,如for是保留字,但FOR或For就不是保留字。在實際開發(fā)中,如果使用Python的保留字作為標識符,則解釋器會提示“SyntaxError:invalidsyntax”的錯誤信息。該錯誤信息通常意味著在代碼中存在語法錯誤,可能是拼寫錯誤、缺少關(guān)鍵符號、不匹配的括號或其他編碼問題。51二、Python的編程方式Python有兩種主要的編程方式:交互式編程和編寫源文件式編程。1.交互式編程在交互式編程方式下,程序會對每條輸入語句進行即時運行。該運行方式的優(yōu)點是調(diào)試程序方便,占用資源少,適合單條語法的練習;缺點是程序無法永久保存,一旦關(guān)掉程序編寫窗口,程序?qū)⒃趦?nèi)存中被釋放。2.編寫源文件式編程在編寫源文件式編程方式下,將創(chuàng)建以“.py”為后綴的代碼源文件,用于保存所有編寫的語句,程序運行的單元就是該“.py”文件。運行程序時,里面的所有代碼是一個整體。該方式是Python的主要編程方式。52任務(wù)1
Python變量的定義和使用01任務(wù)2
Python基本輸入和輸出的使用02任務(wù)3
Python字符串常用方法的使用0353任務(wù)1
Python變量的定義和使用541.了解Python中變量的賦值和使用。2.了解Python中的數(shù)據(jù)類型及其轉(zhuǎn)換。3.能正確定義和使用整數(shù)型變量。4.能正確定義和使用浮點型變量。任務(wù)目標55一、Python中變量的賦值和使用計算機程序通常用于處理各種類型的數(shù)據(jù),不同的數(shù)據(jù)屬于不同的數(shù)據(jù)類型,支持不同的運算操作。計算機程序處理的數(shù)據(jù)通常需要放入內(nèi)存。機器語言和匯編語言直接通過地址訪問存儲于內(nèi)存中的數(shù)據(jù),而高級語言則通過變量訪問存儲于內(nèi)存中的數(shù)據(jù)。相關(guān)知識56在Python3中“一切皆為對象”。對象是某個類(類型)的實例,對象由唯一的ID(身份標識號)標識。從變量到對象的連接稱為引用,引用是一種關(guān)系。對象可以看作一個個小箱子,用來裝程序中不同的數(shù)據(jù)。每個對象都有獨一無二的ID,通過變量可以找到內(nèi)存中的對象。從底層的視角解釋,就是程序中的數(shù)據(jù)以對象的形式存儲到內(nèi)存中,變量其實就是記錄對象名稱并幫助程序訪問具體對象的索引。常量的概念和變量相似,不同之處在于,變量引用會發(fā)生變化的數(shù)據(jù),而常量則引用那些不會發(fā)生變化的數(shù)據(jù)。571.Python中變量的賦值變量的賦值是指把一個變量綁定到某個對象,即在變量和對象之間建立聯(lián)系,其語法格式如下。變量名=字面量或表達式字面量是用于表達源碼中某種固定值的表示方法,它可以是整數(shù)、浮點數(shù)、字符串等。字面量是最簡單的表達式,Python基于字面量的值創(chuàng)建一個對象,并將其和變量進行綁定。對于復雜的表達式,Python先求出表達式的值,然后返回表達式結(jié)果對象,并將其和變量進行綁定。Python變量被訪問之前必須進行初始化,即被綁定到某個對象,否則會報錯。582.Python中變量的使用使用Python中的變量時,只需要知道變量的名稱即可。在Python代碼的任何地方幾乎都能使用變量。下面是一個對變量的簡單使用示例。myname="Python"print(myname)程序運行結(jié)果如下。Python59二、Python中的數(shù)據(jù)類型及其轉(zhuǎn)換Python中的變量不需要聲明,但每個變量在使用前都必須先賦值才會被創(chuàng)建。而變量實際上沒有類型,通常所說的變量是指內(nèi)存中對象的類型。1.數(shù)字類型(number)(1)整數(shù)型(int)整數(shù)就是沒有小數(shù)部分的數(shù)字。Python的整數(shù)包括正整數(shù)、0和負整數(shù)。有些計算機語言的整數(shù)型數(shù)據(jù)有精度或長度限制,開發(fā)者需要根據(jù)實際使用的數(shù)字的取值范圍選用不同的數(shù)據(jù)類型。Python中只有一種類型的整數(shù),而且Python整數(shù)的理論取值范圍是無限的,實際取值大小只受計算機內(nèi)存的限制。6061不同進制的對比整數(shù)可以使用多種進制來表示,不同進制的對比見下表。(2)浮點型(float)在實際應(yīng)用中,數(shù)字并不總是以整數(shù)形式存在。在編程語言中,小數(shù)通常以浮點數(shù)的形式存儲。浮點數(shù)和定點數(shù)是相對的,在存儲小數(shù)的過程中,如果小數(shù)點發(fā)生移動,稱為浮點數(shù);如果小數(shù)點不發(fā)生移動,稱為定點數(shù)。Python中的小數(shù)有十進制形式和指數(shù)形式兩種書寫方式。1)十進制形式。十進制形式是常見的小數(shù)形式,如314.0、31.4、3.14、0.314等。書寫十進制形式的小數(shù)時,其必須包含一個小數(shù)點,否則會被Python當成整數(shù)處理。622)指數(shù)形式。Python小數(shù)的指數(shù)形式的書寫方式如下。mEn或men其中,m是尾數(shù)部分,以十進制形式書寫;E或e是固定的字符,用來分割尾數(shù)部分和指數(shù)部分;n是指數(shù)部分,是一個以十進制形式書寫的整數(shù)。整個書寫方式等價于m*10n。63(3)復數(shù)型(complex)復數(shù)是Python的內(nèi)置數(shù)據(jù)類型,也就是說,在Python中使用復數(shù),不需要依賴標準庫或第三方庫。復數(shù)由實部和虛部構(gòu)成,在Python中,復數(shù)的虛部以j或者J作為后綴,具體格式如下。a+bj或a+bJ其中,a表示實部,b表示虛部。642.字符串類型(string)字符串是連續(xù)的字符序列。Python中的字符串可以使用英文狀態(tài)下的雙引號““””或者單引號“‘’”創(chuàng)建,具體格式如下?!白址瓵”‘字符串B’字符串的內(nèi)容可以是字母、標點、特殊符號、中文或者其他文字。注意:Python字符串中的雙引號和單引號沒有任何區(qū)別,而某些編程語言(如PHP和JavaScript)中的雙引號字符串可以解析變量,單引號字符串一律直接按原樣輸出。65(1)引號轉(zhuǎn)義在引號前面添加反斜杠“\”就可以對引號進行轉(zhuǎn)義,讓Python將其當作普通文本來處理。例如以下程序。(2)使用不同引號包圍字符串如果字符串中出現(xiàn)了單引號,可以使用雙引號將其包圍,反之亦然。例如以下程序。663.布爾類型(bool)Python中使用了布爾類型來表示真(對)或假(錯),如不等式1>0,這個結(jié)果是正確的,在程序中被稱為真(對),在Python中使用True來表示;再如不等式0>1,這個結(jié)果是錯誤的,在程序中被稱為假(錯),在Python中使用False來表示。注意:True和False是Python中的關(guān)鍵字,當作為Python代碼輸入時,需要注意字母的大小寫是否一一對應(yīng),否則解釋器會出錯。另外,在Python中,True對應(yīng)整數(shù)1,F(xiàn)alse對應(yīng)整數(shù)0。在Python中,所有的對象都可以進行真假值的測試,包括字符串、元組、列表、字典、對象等。674.數(shù)據(jù)類型轉(zhuǎn)換雖然Python是弱類型的編程語言,不需要像別的編程語言一樣在使用變量前對變量的類型進行聲明,但在某些使用場景中,仍然需要對數(shù)據(jù)的類型進行轉(zhuǎn)換。6869可以實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的函數(shù)Python提供了多種可以實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的函數(shù),見下表。70但是,在使用類型轉(zhuǎn)換函數(shù)時,必須確保待轉(zhuǎn)換的數(shù)據(jù)符合相應(yīng)的轉(zhuǎn)換函數(shù)的數(shù)據(jù)要求,如使用int函數(shù)無法將非數(shù)字字符串轉(zhuǎn)換為整數(shù)。Python中除一些內(nèi)置的函數(shù)外,還有許多可供調(diào)用的方法。上表中均為內(nèi)置函數(shù),后面要講的split等就是方法。兩者的區(qū)別是內(nèi)置函數(shù)可以直接使用,方法一般通過對象調(diào)用。任務(wù)2
Python基本輸入和輸出的使用711.了解Python輸入、輸出的概念及作用。2.了解標準輸入函數(shù)的概念和使用方法。3.了解標準輸出函數(shù)的概念和使用方法。4.能使用標準輸入、輸出函數(shù)輸入、處理和輸出數(shù)據(jù)。任務(wù)目標72一、Python輸入、輸出的概念及作用輸入和輸出是程序的基本要素。人們通常會用程序完成很多事情,如數(shù)學運算、文件操作等,這些都涉及大量的數(shù)據(jù)交互。這些數(shù)據(jù)不僅是數(shù)字,還可能是圖片、視頻、聲音等。輸入數(shù)據(jù)就是將一些數(shù)據(jù)交給程序去處理,可以通過鍵盤輸入字符,也可以通過麥克風輸入聲音。程序接收到這些輸入的數(shù)據(jù)后,會對這些數(shù)據(jù)進行相應(yīng)的處理。程序處理完這些數(shù)據(jù)后,將其呈現(xiàn)出來的過程就是輸出?;A(chǔ)知識73程序通過輸入接收待處理的數(shù)據(jù),然后執(zhí)行相應(yīng)的處理,最后通過輸出返回處理的結(jié)果,其流程如圖所示。Python程序通??梢允褂孟铝蟹绞綄崿F(xiàn)交互功能?!衩钚袇?shù)?!駱藴瘦斎牒洼敵龊瘮?shù)?!裎募斎牒洼敵??!駡D形化用戶界面。74程序流程75二、標準輸入函數(shù)的概念和使用方法input是Python的內(nèi)置函數(shù),用于接收一個標準輸入數(shù)據(jù)。input函數(shù)讓程序暫停運行,等待用戶輸入一些數(shù)據(jù),獲取用戶輸入的數(shù)據(jù)后,Python將數(shù)據(jù)存儲在一個變量中,以便以后使用。用戶輸入完成后,按“Enter”鍵,程序繼續(xù)運行。input函數(shù)的語法格式如下。input('提示文本')#示例#將輸入的數(shù)據(jù)賦給變量num=input('請輸入數(shù)字')print(num)注意:input函數(shù)接收用戶輸入的數(shù)據(jù)后,返回的數(shù)據(jù)為字符串類型。所以在使用這些返回的數(shù)據(jù)前,需要按實際需求,使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)對其進行相應(yīng)的轉(zhuǎn)換。7677三、標準輸出函數(shù)的概念和使用方法print是Python的內(nèi)置函數(shù),用來向控制臺輸出數(shù)據(jù),print是Python中的常用函數(shù),也是許多初學者用到的第一個函數(shù)。print函數(shù)一般用于將數(shù)據(jù)轉(zhuǎn)換為字符串類型后輸出,能夠轉(zhuǎn)換的數(shù)據(jù)類型包括數(shù)字類型、布爾類型、列表變量、字典變量等。關(guān)于print函數(shù),在前面的任務(wù)中已經(jīng)多次使用到。前面的任務(wù)在使用print函數(shù)時,都只輸出了一個變量,實際上使用print函數(shù)可以同時輸出多個變量。print函數(shù)的語法格式如下。print(*objects,sep='',end='\n',file=sys.stdout)各參數(shù)的含義如下?!駉bjects:輸出的對象,需要輸出多個對象時,要用逗號分隔?!駍ep:用于分隔多個對象。print函數(shù)默認使用空格對多個變量進行分隔,需要使用別的符號對變量進行分隔時,對sep參數(shù)進行設(shè)置即可?!馿nd:用于設(shè)定以什么結(jié)尾。默認值是換行符\n,也可以換成其他字符。78●?le:用于指定print函數(shù)的輸出目標。?le參數(shù)的默認值為sys.stdout,該默認值代表了系統(tǒng)標準輸出,也就是將數(shù)據(jù)輸出至終端。當需要將數(shù)據(jù)輸出至特定的文件內(nèi)時,對?le參數(shù)進行修改即可。注意:Python2中的print是一個語法結(jié)構(gòu),輸出數(shù)據(jù)時不需要加括號;Python3中的print是一個內(nèi)置函數(shù),輸出數(shù)據(jù)時需要在print后面加括號。79任務(wù)3
Python字符串常用方法的使用801.掌握Python中字符串的常用處理方法。2.能進行字符串的整體操作和內(nèi)部元素操作。3.能進行字符串與輸入、輸出聯(lián)合編程。任務(wù)目標81一、拼接字符串拼接字符串是指將兩個或多個字符串首尾相連,程序中使用加號。'aa'+'bb'='aabb'注意:(1)如果加號兩邊都是字符串,則進行拼接。(2)如果加號兩邊都是數(shù)字,則進行加法運算。(3)如果加號兩邊類型不同,則報錯。相關(guān)知識8283二、截取字符串從本質(zhì)上講,字符串是由一個或多個字符構(gòu)成的,字符之間是有順序的,字符的順序稱為索引(index)。Python允許通過索引來操作字符串,如獲取指定索引處的字符、返回指定字符的索引值等。1.獲取單個字符知道字符串的名稱以后,在方括號“[]”中使用索引即可訪問對應(yīng)位置的字符,具體的語法格式如下。strname[index]其中,strname表示字符串的名稱,index表示索引值。84Python允許從字符串的兩端使用索引。當以字符串的左端(字符串的開頭)為起點時,索引是從0開始計數(shù)的,字符串中第一個字符的索引值為0,第二個字符的索引值為1,第三個字符的索引值為2,以此類推。當以字符串的右端(字符串的末尾)為起點時,索引是從-1開始計數(shù)的,字符串中倒數(shù)第一個字符的索引值為-1,倒數(shù)第二個字符的索引值為-2,倒數(shù)第三個字符的索引值為-3,以此類推。852.獲取多個字符使用方括號“[]”除了可以獲取單個字符,還可以指定一個范圍來獲取多個字符,也就是一個子串,具體格式如下。strname[start:end:step]各參數(shù)的含義如下?!駍trname:要截取的字符串的名稱?!駍tart:要截取的第一個字符所在的索引(截取時包含該字符)?!馿nd:要截取的最后一個字符所在的索引(截取時不包含該字符)?!駍tep:從start索引處的字符開始,每step個距離獲取一個字符,直至end索引處的字符。86三、分割字符串split方法用于將一個字符串根據(jù)指定的分隔符進行切割,從而形成多個子串。切割后的子串會被存儲在一個列表中,并作為方法的返回值返回。這個方法在處理文本數(shù)據(jù)時非常有用。該方法的基本語法格式如下。str.split(sep,maxsplit)87各參數(shù)的含義如下?!駍tr:要進行分割的字符串的名稱?!駍ep:用于指定分隔符,可以包含多個字符。此參數(shù)默認為None,表示所有空字符,包括空格、換行符“\n”、制表符“\t”等?!駇axsplit:可選參數(shù),用于指定分割的次數(shù),最后列表中子串的個數(shù)最多為maxsplit+1。如果不指定或指定為-1,則表示分割次數(shù)沒有限制。在split方法中,如果不指定sep參數(shù),需要以str.split(maxsplit=xxx)的格式指定maxsplit參數(shù)。88四、合并字符串在字符串處理中,join方法同樣具有重要的作用。與split方法相反,join方法用于將包含多個字符串的列表(或元組)連接成一個單獨的字符串。這個方法在處理拼接文本時非常有用。使用join方法時,它會根據(jù)指定的分隔符將列表(或元組)中的多個字符串合并起來,形成一個新的字符串。這種操作能夠有效地將多個文本片段整合成一個更大的字符串。89join方法的語法格式如下。str.join(iterable)各參數(shù)的含義如下?!駍tr:用于指定合并時的分隔符?!駃terable:做合并操作的源字符數(shù)據(jù),允許以列表、元組等形式提供。90五、統(tǒng)計字符串元素count方法用于檢索目標字符串在指定字符串中出現(xiàn)的次數(shù),如果檢索的字符串不存在,則返回0,否則返回出現(xiàn)的次數(shù)。count方法的語法格式如下。str.count(sub,start=None,end=None)各參數(shù)的含義如下?!駍tr:指定字符串。●sub:目標字符串。●start:檢索的起始位置,如果不指定,默認從頭開始檢索?!馿nd:檢索的結(jié)束位置,如果不指定,默認一直檢索到結(jié)尾。91六、檢索字符串的子字符串在Python中可以使用兩種方法檢索指定字符串中是否包含目標字符串,分別是?nd方法和index方法。1.find方法?nd方法用于檢索字符串中是否包含目標字符串,如果包含,則返回第一次出現(xiàn)該字符串的索引值,反之則返回-1。?nd方法的語法格式如下。str.find(sub,start=None,end=None)92各參數(shù)的含義如下?!駍tr:指定字符串?!駍ub:目標字符串?!駍tart:檢索的起始位置,如果不指定,默認從頭開始檢索?!馿nd:檢索的結(jié)束位置,如果不指定,默認一直檢索到結(jié)尾。932.index方法與?nd方法類似,index方法也可以用于檢索指定字符串是否包含目標字符串。不同之處在于,當目標字符串不存在時,index方法會拋出異常(?nd方法不會拋出異常)。index方法的語法格式如下。str.index(sub,start=None,end=None)各參數(shù)的含義如下?!駍tr:指定字符串。●sub:目標字符串?!駍tart:檢索的起始位置,如果不指定,默認從頭開始檢索?!馿nd:檢索的結(jié)束位置,如果不指定,默認一直檢索到結(jié)尾。94七、格式化字符串方式一字符串.format(值1,值2,…)方式二str.format(格式字符串1,值1,值2,…)方式三format(值,格式字符串)方式四格式字符串%(值1,值2,…)#Python2用法的兼容版本,不建議使用任務(wù)運算符綜合應(yīng)用951.了解表達式的概念。2.熟悉各種運算符的概念、作用及基本使用方法。3.能通過相應(yīng)的運算符實現(xiàn)各種運算。任務(wù)目標96一、表達式表達式是可以計算的代碼片段。表達式由操作數(shù)、運算符和小括號按一定的規(guī)則組成。表達式通過運算后產(chǎn)生運算結(jié)果,返回結(jié)果對象。運算結(jié)果對象的類型由操作數(shù)和運算符共同決定。運算符表明對操作數(shù)進行什么樣的運算。表達式既可以非常簡單,又可以非常復雜。當表達式包含多個運算符時,運算符的優(yōu)先級控制各個運算符的計算順序。相關(guān)知識97二、算術(shù)運算符Python提供了豐富的算術(shù)運算符,用于進行包含四則運算的各種算術(shù)運算。98Python中的算術(shù)運算符99三、賦值運算符賦值運算符用來把右側(cè)的值傳遞給左側(cè)的變量(或者常量)??梢灾苯訉⒂覀?cè)的值傳遞給左側(cè)的變量,也可以進行某些運算后再傳遞給左側(cè)的變量,如加減乘除、函數(shù)調(diào)用、邏輯運算等。等號“=”是Python中最常見、最基本的賦值運算符,用來將一個表達式的值賦給另一個變量。100在Python中,變量是用來存儲數(shù)據(jù)的,但實際上,變量并不直接存儲數(shù)據(jù)本身,而是存儲對數(shù)據(jù)對象的引用。這意味著變量實際上指向內(nèi)存中存儲的數(shù)據(jù)對象的位置,而不是存儲數(shù)據(jù)本身。當使用賦值語句(如x=10)時,實際上是在創(chuàng)建一個名為x的變量,并將其指向一個存儲值為10的整數(shù)對象的內(nèi)存位置,這個過程稱為對象引用。變量x是對該整數(shù)對象的引用,因此可以通過x來訪問和操作這個整數(shù)對象。Python中的一切都是對象,因此,當創(chuàng)建一個變量并將其值賦為函數(shù)、類實例等時,實際上是在為這個變量創(chuàng)建一個指向相應(yīng)對象的引用。101等號“=”可以與其他運算符(包括算數(shù)運算符、位運算符和邏輯運算符)相結(jié)合,拓展成功能更加強大的賦值運算符。拓展后的賦值運算符見下表。Python中的算術(shù)運算符102Python中的算術(shù)運算符通常情況下,只要能使用拓展后的賦值運算符,都推薦使用這類賦值運算符。注意:這類賦值運算符只能針對已經(jīng)存在的變量賦值,因為賦值過程中需要變量引用的對象參與運算,如果變量沒有提前定義,它的值就是未知的,無法參與運算。103四、位運算符Python位運算按照數(shù)據(jù)在內(nèi)存中的二進制位進行操作,它一般用于底層開發(fā)(如算法設(shè)計、驅(qū)動、圖像處理等)。Python位運算符只能用來操作整數(shù)型數(shù)據(jù),它按照整數(shù)在內(nèi)存中的二進制形式進行計算。Python支持的位運算符見下表。這里定義兩個變量:變量a為60,變量b為13,它們的二進制格式如下。a=00111100b=00001101104Python支持的位運算符105五、比較運算符比較運算符也稱關(guān)系運算符,用于對常量、變量或表達式的結(jié)果進行比較,返回值為True(真)或False(假),用于程序流程控制。Python支持的比較運算符見下表。Python支持的比較運算符106六、邏輯運算符邏輯運算符用來對多個表達式進行計算,表示“且”“或”“非”等。Python中的邏輯運算符見下表。Python中的邏輯運算符107Python按照下面的規(guī)則執(zhí)行and運算?!袢绻筮叡磉_式的值為False,那么就不用計算右邊表達式的值了?!袢绻筮叡磉_式的值為True,那么最終值是不能確定的,and運算會繼續(xù)計算右邊表達式的值,并將右邊表達式的值作為最終結(jié)果。對于or運算符,情況是類似的,兩邊的值都為False時,最終結(jié)果才為False,只要其中一個值為True,那么最終結(jié)果就為True。Python按照下面的規(guī)則執(zhí)行or運算?!袢绻筮叡磉_式的值為True,那么就不用計算右邊表達式的值了。●如果左邊表達式的值為False,那么最終值是不能確定的,or運算會繼續(xù)計算右邊表達式的值,并將右邊表達式的值作為最終結(jié)果。108七、三目運算符三目運算符又稱條件運算符,它是唯一一個有三個操作數(shù)的運算符,所以又稱三元運算符。在其他編程語言(如C語言)中,三目運算符的格式如下。b?x:y其工作原理是先計算條件b,然后進行判斷。如果b的值為True,計算x的值,運算結(jié)果為x的值;否則計算y的值,運算結(jié)果為y的值。一個條件表達式絕不會既計算x的值,又計算y的值。但是,Python中并未引入其他編程語言中的三目運算符的寫法,而是使用已有的if...else語句來實現(xiàn)相同的功能。109使用if...else語句實現(xiàn)三目運算符(條件運算符)的格式如下。exp1ifconditionelseexp2其中,condition是判斷條件,exp1和exp2是兩個表達式。如果判斷條件成立(結(jié)果為True),就執(zhí)行exp1,并把exp1的結(jié)果作為整個表達式的結(jié)果;如果判斷條件不成立(結(jié)果為False),就執(zhí)行exp2,并把exp2的結(jié)果作為整個表達式的結(jié)果。110另外,Python中的三目運算符支持嵌套,由此構(gòu)成更加復雜的表達式。在嵌套時,需要注意if和else的配對。三目運算符嵌套的格式如下。aifa>belsecifc>delsed其工作原理是當a>b時,以a的結(jié)果作為輸出,否則對c和d的大小進行比較,當c>d時,以c的結(jié)果作為輸出,否則以d的結(jié)果作為輸出。任務(wù)1序列的使用01任務(wù)2列表的使用02任務(wù)3元組的使用03111任務(wù)4字典的使用04任務(wù)5集合的使用05任務(wù)1序列的使用1121.熟悉序列的概念。2.掌握序列的基本使用方法。3.掌握檢查元素是否包含在序列中的方法。4.了解和序列相關(guān)的內(nèi)置函數(shù)。任務(wù)目標113一、序列索引在序列中,每個元素都有屬于自己的編號(索引)。例如,一個含有n個元素的序列從起始元素開始,索引值從0開始遞增至n-1,如圖所示。相關(guān)知識114序列索引方法1除此之外,Python還支持索引值是負數(shù),此類索引是從右向左計數(shù)的,從最后一個元素開始計數(shù),從索引值-1開始,如圖所示。無論是采用正索引值,還是負索引值,都可以訪問序列中的任何元素。115序列索引方法2二、序列切片切片操作是訪問序列中元素的另一種方法,它可以訪問一定范圍內(nèi)的元素,通過切片操作,可以生成一個新的序列。序列實現(xiàn)切片操作的語法格式如下。sname[start:end:step]116各參數(shù)的含義如下?!駍name:序列的名稱?!駍tart:切片開始位置對應(yīng)的索引值(包括該位置),此參數(shù)也可以不指定,會默認為0,也就是從序列的開頭進行切片?!馿nd:切片結(jié)束位置對應(yīng)的索引值(不包括該位置),如果不指定,則默認為序列的長度。●step:在切片過程中,隔幾個存儲位置(包含當前位置)取一次元素,也就是說,如果step的值大于1,則在進行切片取序列元素時,會“跳躍式”地取元素,如果省略設(shè)置step的值,則最后一個冒號就可以省略。117三、序列相加、相乘序列的相加、相乘與前面字符串的相加、相乘的調(diào)用格式和作用相同,故不在此詳細說明。序列相加、相乘示例如下。str1="Python"print(str1+"編程語言")print(str1*3)程序運行結(jié)果如下。Python編程語言PythonPythonPython118四、檢查元素是否包含在序列中在Python中,可以使用in關(guān)鍵字檢查某元素是否為序列的成員,其語法格式如下。valueinsequence其中,value表示要檢查的元素,sequence表示指定的序列。和in關(guān)鍵字用法相同但功能相反的是notin關(guān)鍵字,它用來檢查某個元素是否不包含在指定的序列中。119五、和序列相關(guān)的內(nèi)置函數(shù)除了上面的用法,Python還提供了一些和序列相關(guān)的內(nèi)置函數(shù),可用于實現(xiàn)與序列相關(guān)的一些常用操作。120和序列相關(guān)的內(nèi)置函數(shù)任務(wù)2列表的使用1211.熟悉列表的概念。2.掌握列表的創(chuàng)建和刪除方法。3.掌握對列表中元素的操作方法。4.能進行列表的整體操作。5.能進行列表中元素的基本操作。任務(wù)目標122列表是一組有序項目的數(shù)據(jù)結(jié)構(gòu)。在創(chuàng)建一個列表后,用戶可以訪問、修改、添加或刪除列表中的項目,即列表是可變的數(shù)據(jù)類型。在Python中沒有數(shù)組,而是使用功能更強大的列表代替。列表將所有元素都放在一對中括號中,相鄰元素之間用逗號分隔。列表的格式如下。[element1,element2,element3,…,elementn]其中,element1~elementn表示列表中的元素,個數(shù)沒有限制,只要是Python支持的數(shù)據(jù)類型都可以,因此,列表可以存儲整數(shù)、小數(shù)、字符串、列表、元組等任何類型的數(shù)據(jù),并且同一個列表中元素的類型也可以不同。相關(guān)知識123124一、列表的創(chuàng)建在Python中,創(chuàng)建列表的方法可以分為使用中括號“[]”直接創(chuàng)建列表和使用list函數(shù)創(chuàng)建列表兩種。1.使用中括號“[]”直接創(chuàng)建列表使用中括號“[]”創(chuàng)建列表后,一般使用等號“=”將它賦給某個變量,具體格式如下。listname=[element1,element2,element3,…,elementn]其中,listname表示變量名,element1~elementn表示列表元素。另外,使用此方式創(chuàng)建列表時,列表中元素可以有多個,也可以一個都沒有。2.使用list函數(shù)創(chuàng)建列表除了使用中括號“[]”創(chuàng)建列表,Python還提供了一個內(nèi)置的函數(shù)list,使用它可以將可迭代對象(字符串、元組、字典、集合等)轉(zhuǎn)換為列表類型。125126二、列表的刪除對于已經(jīng)創(chuàng)建的列表,如果不再需要使用,可以使用del關(guān)鍵字將其刪除。然而,在實際的開發(fā)中,通常不使用del來手動刪除列表。這是因為Python具備自帶的垃圾回收機制,它會自動檢測和銷毀不再被引用的對象,包括列表。因此,即使開發(fā)者不手動使用del刪除列表,Python也會在適當?shù)臅r候自動回收這些無用的列表,從而釋放內(nèi)存空間,確保程序運行的高效性和穩(wěn)定性。del關(guān)鍵字的語法格式如下。dellistname其中,listname表示要刪除列表的名稱。127三、列表中元素的訪問列表是Python序列的一種,可以使用索引訪問列表中的某個元素(得到的是一個元素的值),也可以使用切片訪問列表中的一組元素(得到的是一個新的子列表)。使用索引訪問列表元素的格式如下。listname[i]其中,listname表示列表的名稱,i表示索引值。列表的索引可以是正數(shù),也可以是負數(shù)。索引訪問示意圖如圖所示。128索引訪問示意圖使用切片訪問列表元素的格式如下。listname[start:end:step]步長為1的切片訪問示意圖如圖所示。129步長為1的切片訪問示意圖130四、向列表中添加元素1.使用append方法添加元素append方法用于在列表的末尾追加元素,其語法格式如下。listname.append(obj)其中,listname表示要添加元素的列表;obj表示要添加到列表末尾的數(shù)據(jù),它可以是單個元素,也可以是列表、元組等,但不能是單個的數(shù)字,因為int類型的對象不可迭代,下同。注意:當給append方法傳遞列表或者元組時,該方法會將它們視為一個整體,作為一個元素添加到列表中,從而形成包含列表和元組的新列表。2.使用extend方法添加元素extend方法和append方法的不同之處在于,extend方法不會把列表或元組視為一個整體,而是把它們包含的元素逐個添加到列表中。extend方法的語法格式如下。listname.extend(obj)其中,listname表示要添加元素的列表;obj表示要添加到列表末尾的數(shù)據(jù),需要是一個可迭代對象,它可以是單個元素,也可以是列表、元組等,但不能是單個的數(shù)字。1313.使用insert方法添加元素append方法和extend方法只能在列表末尾添加元素,如果希望在列表中間某個位置添加元素,可以使用insert方法。insert方法的語法格式如下。listname.insert(index,obj)其中,index表示指定位置的索引值。insert方法會將obj添加到listname列表第index個元素的位置。當添加列表或者元組時,insert方法會將它們視為一個整體,作為一個元素添加到列表中,這一點和append方法是一樣的。132133五、從列表中刪除元素從Python列表中刪除元素一共有四種方法,按照不同的使用場景可以分為以下三類?!窀鶕?jù)目標元素所在位置的索引進行刪除,可以使用del關(guān)鍵字或者pop方法?!窀鶕?jù)元素本身的值進行刪除,可以使用列表(list類型)提供的remove方法。●將列表中所有元素都刪除,可以使用列表(list類型)提供的clear方法。1.del關(guān)鍵字del是Python中的關(guān)鍵字,專門用來執(zhí)行刪除操作,它不僅可以刪除整個列表,還可以刪除列表中的某些元素。因為前面已經(jīng)詳細介紹過如何刪除列表變量,所以這里只講解如何刪除列表元素。del可以刪除列表中的單個元素(通過索引值),其格式如下。dellistname[index]其中,listname表示列表的名稱,index表示元素的索引值。134del也可以刪除中間一段連續(xù)的元素,其格式如下。dellistname[start:end]其中,start表示起始索引值,end表示結(jié)束索引值。del會刪除從索引值start到end之間的元素,不包括end位置的元素。1351362.pop方法pop方法用來刪除列表中指定索引處的元素,其字面意思為彈出,類似于數(shù)據(jù)結(jié)構(gòu)中的“出棧”操作。其格式如下。listname.pop(index)其中,listname表示列表的名稱,index表示索引值。如果不寫index參數(shù),默認會刪除列表中的最后一個元素。大部分編程語言都會提供和pop方法相對應(yīng)的方法,即push方法,字面意思為壓入,該方法用來將元素添加到列表的尾部,類似于數(shù)據(jù)結(jié)構(gòu)中的“入?!辈僮?。但是Python是個例外,Python并沒有提供push方法,因為完全可以使用append方法代替push方法實現(xiàn)其功能。1373.remove方法除了del關(guān)鍵字,Python還提供了remove方法,該方法會根據(jù)元素本身的值進行刪除操作。注意:remove方法只會刪除第一個和指定值相同的元素,而且必須保證該元素是存在的,否則會引發(fā)ValueError錯誤。4.clear方法clear方法用來刪除列表中的所有元素,即清空列表。138六、列表中元素的修改Python提供了兩種修改列表元素的方法,可以每次修改單個元素,也可以每次修改一組元素。1.修改單個元素修改單個元素非常簡單,直接對元素賦值即可。2.修改一組元素Python支持通過切片語法給一組元素賦值。在進行這種操作時,如果不指定步長(step參數(shù)),Python就不會要求新賦值的元素個數(shù)與原來的元素個數(shù)相同,這意味著,該操作既可以為列表添加元素,又可以為列表刪除元素。139七、列表中元素的查找Python列表提供了index方法和count方法,它們都可以用來查找元素,一個主要用于定位,另一個則用于統(tǒng)計數(shù)量。1.index方法index方法用來查找某個元素在列表中出現(xiàn)的位置(也就是索引),如果該元素不存在,則會導致ValueError錯誤。index方法的語法格式如下。listname.index(obj,start,end)其中,listname表示列表的名稱,obj表示要查找的元素,start表示起始位置,end表示結(jié)束位置。140start和end參數(shù)用來指定檢索范圍。●start和end可以都不寫,此時會檢索整個列表?!袢绻粚憇tart不寫end,那么表示檢索從start到末尾的元素?!袢绻鹲tart和end都寫,那么表示檢索start和end之間的元素。index方法會返回元素所在列表中的索引值。1412.?count方法count方法用來統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù),其語法格式如下。listname.count(obj)其中,listname表示列表名稱,obj表示目標元素。如果count返回0,表示列表中不存在該元素,所以count也可以用來判斷列表中的某個元素是否存在。任務(wù)3元組的使用1421.掌握元組的創(chuàng)建、刪除與修改方法。2.掌握對元組內(nèi)部元素進行訪問的方法。3.能進行元組創(chuàng)建、元組元素訪問、元組數(shù)據(jù)替換等操作。任務(wù)目標143元組是一組有序序列,包含零個或多個對象引用。元組和列表十分相似,但元組是不可變的對象,即用戶不能修改、添加或刪除元組中的元素(但可以訪問元組中的元素)。元組的所有元素都放在一對小括號中,相鄰元素之間用逗號分隔。相關(guān)知識144元組的格式如下。(element1,element2,…,elementn)其中,element1~elementn表示元組中的元素,個數(shù)沒有限制,只要是Python支持的數(shù)據(jù)類型都可以,所以元組可以存儲整數(shù)、實數(shù)、字符串、列表、元組等任何類型的數(shù)據(jù),并且在同一個元組中,元素的類型可以不同。145146一、元組的創(chuàng)建1.使用小括號“()”創(chuàng)建元組使用小括號“()”創(chuàng)建元組后,一般使用等號“=”將它賦給某個變量,具體格式如下。tuplename=(element1,element2,…,elementn)其中,tuplename表示變量名,element1~elementn表示元組的元素。147注意:(1)在Python中,元組通常都是使用一對小括號將所有元素括起來,但小括號不是必需的,只要將各元素用逗號隔開,Python就會將其視為元組。(2)當創(chuàng)建的元組中只有一個字符串類型的元素時,該元素后面必須加一個逗號,否則Python解釋器會將它視為字符串。1482.使用tuple函數(shù)創(chuàng)建元組除了使用小括號“()”創(chuàng)建元組,Python還提供了一個內(nèi)置的函數(shù)tuple,用來將其他數(shù)據(jù)類型轉(zhuǎn)換為元組類型。tuple函數(shù)的語法格式如下。tuple(data)其中,data表示可以轉(zhuǎn)換為元組的數(shù)據(jù)(可迭代對象),包括字符串、元組、range對象等。149二、元組的刪除當創(chuàng)建的元組不再使用時,可以通過del關(guān)鍵字將其刪除,例如以下程序。tup1=('Python','C++')print(tup1)deltup1print(tup1)150程序運行結(jié)果如下。('Python','C++')Traceback(mostrecentcalllast):File"d:\VSCode\code\4-3.py",line4,in<module>print(tup1)NameError:name'tup1'isnotdefined151三、元組元素的訪問和列表一樣,可以使用索引訪問元組中的某個元素(得到的是一個元素的值),也可以使用切片訪問元組中的一組元素(得到的是一個新的子元組)。使用索引訪問元組元素的格式如下。tuplename[i]其中,tuplename表示元組的名稱,i表示索引值。元組的索引可以是正數(shù),也可以是負數(shù)。152使用切片訪問元組元素的格式如下。tuplename[start:end:step]其中,start表示起始索引,end表示結(jié)束索引,step表示步長。以上兩種方式已在序列的使用任務(wù)中進行了詳細講解,這里不再贅述。153四、元組的修改前面提到,元組是不可變序列,元組中的元素不能被修改,所以只能將元組變量引用到一個新創(chuàng)建的元組對象中。另外,還可以通過元組拼接(使用加號“+”拼接元組)的方式生成一個拼接過后的元組。任務(wù)4字典的使用1541.掌握字典的創(chuàng)建、刪除與訪問方法。2.掌握對字典鍵值對的操作方法。3.能創(chuàng)建字典,并進行鍵值對的添加、修改和刪除等操作。任務(wù)目標155字典是一種可變?nèi)萜髂P?,可存儲任意類型的對象。因為字典是無序的,所以不支持索引和切片。字典類型是Python中唯一的映射類型?!坝成洹笔菙?shù)學中的術(shù)語,指元素之間相互對應(yīng)的關(guān)系,即通過一個元素可以唯一找到另一個元素。字典映射示意圖如圖所示。相關(guān)知識156157字典映射示意圖158在字典中,習慣將各元素對應(yīng)的索引稱為鍵(key),各個鍵對應(yīng)的元素稱為值(value),鍵及其關(guān)聯(lián)的值稱為“鍵值對”。字典類型類似電話簿,如可通過電話簿中的姓名找到對應(yīng)的電話號碼。字典類型中的鍵就好比電話簿中的姓名,而這些鍵所對應(yīng)的值則相當于對應(yīng)的電話號碼。通過字典的鍵,能夠迅速地檢索和獲取對應(yīng)的值,實現(xiàn)了高效的數(shù)據(jù)存儲和檢索。159字典類型所具有的主要特征見下表。字典類型所具有的主要特征160一、字典的創(chuàng)建1.使用大括號“{}”創(chuàng)建字典由于字典中每個元素都包含兩部分,分別是鍵(key)和值(value),因此,在創(chuàng)建字典時,鍵和值之間使用冒號分隔,相鄰元素之間使用逗號分隔,所有元素放在大括號中。使用大括號“{}”創(chuàng)建字典的語法格式如下。dictname={'key1':'value1','key2':'value2',…,'keyn':'valuen'}其中,dictname表示字典變量名,key1:value1~keyn:valuen表示各個元素的鍵值對。161使用type函數(shù)可以查看字典的數(shù)據(jù)類型名稱,具體如下。a={'Python版本':'3.9.2'}print(type(a))程序運行結(jié)果如下。<class'dict'>1622.使用fromkeys方法創(chuàng)建字典在Python中,可以使用字典類型提供的fromkeys方法創(chuàng)建帶有默認值的字典,具體格式如下。dictname=dict.fromkeys(list,value=None)其中,list表示字典中所有鍵的列表;value表示默認值,如果不寫,則為空值None。1633.使用dict函數(shù)創(chuàng)建字典通過dict函數(shù)創(chuàng)建字典的方法有多種,下表列出了常用的幾種方法,它們創(chuàng)建的都是同一個字典a。通過dict函數(shù)創(chuàng)建字典的方法164二、字典的刪除和列表、元組一樣,字典的刪除也是使用del關(guān)鍵字。字典的刪除示例如下。mark={'a':100,'b':200,'c':300}print(mark)delmarkprint(mark)165程序運行結(jié)果如下。{'a':100,'b':200,'c':300}Traceback(mostrecentcalllast):File"d:\VSCode\code\4-4.py",line4,in<module>print(mark)NameError:name
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國通信業(yè)務(wù)行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報告
- 2025年核桃新品種推廣與應(yīng)用技術(shù)合同
- 2025年度醫(yī)療設(shè)備采購合同變更協(xié)議
- 2025年中國重型柴油車行業(yè)市場運行態(tài)勢與投資戰(zhàn)略咨詢報告
- 加工產(chǎn)品訂單合同范例
- 個人借款收條合同范例
- 刷單合同范例
- 倉庫及辦公室裝修合同范例
- 培養(yǎng)專家型校長的創(chuàng)新思路
- 公司送車合同范例
- 緒論中國文化概論張岱年
- 發(fā)生輸液反應(yīng)時的應(yīng)急預案及處理方法課件
- 中國旅游地理(高職)全套教學課件
- 數(shù)字貨幣的匿名性與反洗錢
- 門脈高壓性消化道出血的介入治療課件
- 民航保密培訓課件
- 血庫輸血培訓課件
- 詩詞寫作入門
- 學校教育中的STEM教育模式培訓課件
- 電器整機新產(chǎn)品設(shè)計DFM檢查表范例
- 樁基礎(chǔ)工程文件歸檔內(nèi)容及順序表
評論
0/150
提交評論