




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Python編程環(huán)境搭建Python程序設(shè)計(jì)基礎(chǔ)項(xiàng)目1Python編程環(huán)境搭建.pptx項(xiàng)目2基礎(chǔ)數(shù)據(jù)的處理.pptx項(xiàng)目3組合數(shù)據(jù)的處理.pptx項(xiàng)目4程序結(jié)構(gòu)設(shè)計(jì).pptx項(xiàng)目5函數(shù)的構(gòu)建.pptx項(xiàng)目6基于面向?qū)ο蟮慕Ec重構(gòu).pptx全套可編輯PPT課件目錄CONTENTS1Python相關(guān)知識2安裝編程環(huán)境3Python的三方庫4項(xiàng)目實(shí)施5實(shí)訓(xùn)練習(xí)學(xué)習(xí)目標(biāo)知識目標(biāo)能力目標(biāo)素養(yǎng)目標(biāo)(1)認(rèn)識Python數(shù)據(jù)結(jié)構(gòu)類型,并區(qū)分可變數(shù)據(jù)類型與不可變數(shù)據(jù)類型;(2)理解Python中列表、元組、字典、集合的概念及定義;(3)了解Python中列表、元組、字典、集合的特點(diǎn)及使用場景;(4)掌握列表、元組、字典、集合的常用函數(shù)及方法。(1)學(xué)會搜索Python學(xué)習(xí)資料;(2)學(xué)會下載開發(fā)環(huán)境;(3)熟練安裝開發(fā)環(huán)境程序;(4)完成環(huán)境變量的配置;(5)安裝庫文件;(6)編寫簡單的程序測試環(huán)境。(1)培養(yǎng)對新技術(shù)發(fā)展動態(tài)的關(guān)注度;(2)掌握文獻(xiàn)檢索,資料查詢的基本方法;(3)掌握信息息的獲取與篩選能力;(4)培養(yǎng)對應(yīng)用軟件安裝、調(diào)試和維護(hù)的能力。學(xué)習(xí)導(dǎo)圖Python相關(guān)知識01Python的歷史Python的特點(diǎn)Python的應(yīng)用領(lǐng)域
Python是一種跨平臺的計(jì)算機(jī)程序設(shè)計(jì)語言。它是一種面向?qū)ο?、解釋型、弱類型的腳本語言,它也是一種功能強(qiáng)大而完善的通用型語言。最初被設(shè)計(jì)用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,逐步被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。一、Python相關(guān)知識——Python語言的特點(diǎn)
Python是由荷蘭人吉多·范羅蘇姆(GuidovanRossum)于20世紀(jì)80年代末至90年代初,在荷蘭國家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來的。Python本身也是由諸多其他語言發(fā)展而來的,這包括ABC、Modula-3、C、C++、Algol-68、SmallTalk、UNIXshell和其他腳本語言等。一、Python相關(guān)知識——Python語言的歷史一、Python相關(guān)知識——Python語言的特點(diǎn)開源:用戶使用Python進(jìn)行開發(fā)和發(fā)布自己編寫的程序,不需要支付任何費(fèi)用。解釋型語言:Python語言編寫的程序,不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序。簡單易學(xué):作為一種面向?qū)ο?、解釋型的腳本語言,相比于其他編程語言,Python代碼相對簡單,上手容易。可移植性:Python天生具有跨平臺的特征,只要為平臺提供了相應(yīng)的Python解釋器,Python就可以在該平臺上運(yùn)行。豐富強(qiáng)大的庫:Python語言包含了解決各種問題的類庫。合理使用Python的類庫和開源項(xiàng)目,能夠快速地實(shí)現(xiàn)功能,滿足業(yè)務(wù)需求。一、Python相關(guān)知識——Python的應(yīng)用領(lǐng)域一、Python相關(guān)知識——Python的應(yīng)用領(lǐng)域Python經(jīng)常被用于Web開發(fā)。比如,通過mod_wsgi模塊,Apache可以運(yùn)行用Python編寫的Web程序。Python定義了WSGI標(biāo)準(zhǔn)應(yīng)用接口來協(xié)調(diào)http服務(wù)器與基于Python的Web程序之間的通信。一些Web框架(如Django、TurboGears、web2py、Zope等)可以讓程序員輕松地開發(fā)和管理復(fù)雜的Web程序。Web開發(fā)——讓世界看到你的作品一、Python相關(guān)知識——Python的應(yīng)用領(lǐng)域Python在很早的時候就是一種游戲編程的輔助工具。在《星球大戰(zhàn)》中扮演了重要的角色。目前,通過Python完全可以編寫出非常棒的游戲程序。游戲編程——提升的用戶體驗(yàn)一、Python相關(guān)知識——Python的應(yīng)用領(lǐng)域說到使用編程語言編寫網(wǎng)絡(luò)爬蟲,就不得不提到Python的簡便、高效和強(qiáng)大了。在幾年之前,大多數(shù)網(wǎng)絡(luò)爬蟲還是使用Java進(jìn)行編寫的,但是隨著Python生態(tài)的不斷壯大,其簡潔的語法搭配強(qiáng)大的功能,使得Python在編寫網(wǎng)絡(luò)爬蟲時有著得天獨(dú)厚的優(yōu)勢。網(wǎng)絡(luò)爬蟲——大數(shù)據(jù)時代沒有數(shù)據(jù)怎么行一、Python相關(guān)知識——Python的應(yīng)用領(lǐng)域數(shù)據(jù)分析也是隨著大數(shù)據(jù)的概念再次興起的一個領(lǐng)域。有了大量的數(shù)據(jù),自然需要對其進(jìn)行數(shù)據(jù)清理、數(shù)據(jù)提取和數(shù)據(jù)分析。在科學(xué)計(jì)算和數(shù)據(jù)分析領(lǐng)域,Python一直沒有缺席。在這些方面都有非常成熟的第三方模塊和活躍的社區(qū),這使Python成為數(shù)據(jù)處理任務(wù)的一個重要解決方案。數(shù)據(jù)分析——看到數(shù)據(jù)背后的真相一、Python相關(guān)知識——Python的應(yīng)用領(lǐng)域人工智能是現(xiàn)在非?;鸬囊粋€方向,AI熱潮讓Python語言的未來充滿了無限的潛力?,F(xiàn)在釋放出來的幾個非常有影響力的AI框架,大多是Python實(shí)現(xiàn)的。機(jī)器學(xué)習(xí),尤其是現(xiàn)在火爆的深度學(xué)習(xí),其工具框架大都提供了Python接口。Python在科學(xué)計(jì)算領(lǐng)域一直有著較好的聲譽(yù),其簡潔清晰的語法以及豐富的計(jì)算工具,深受此領(lǐng)域開發(fā)者喜愛。人工智能與機(jī)器學(xué)習(xí)——互聯(lián)網(wǎng)新熱潮安裝編程環(huán)境02Python常用開發(fā)環(huán)境Anaconda交互式開發(fā)環(huán)境Pycharm項(xiàng)目開發(fā)環(huán)境二、Python常用開發(fā)環(huán)境開發(fā)環(huán)境就是用戶與計(jì)算機(jī)之間溝通的橋梁,在Python中開發(fā)環(huán)境是需要下載才能使用的,當(dāng)用戶下載好之后,才能對代碼進(jìn)行測試。根據(jù)開發(fā)環(huán)境的特點(diǎn)與開發(fā)目標(biāo),用戶可以選擇不同的開發(fā)環(huán)境。二、Python常用開發(fā)環(huán)境表1-1-1常用開發(fā)環(huán)境對比二、Anaconda交互式開發(fā)環(huán)境
Anaconda是Python和R語言的開源發(fā)行版,它主要應(yīng)用于數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等領(lǐng)域。Anaconda擁有桌面圖形用戶界面(GUI),它能夠讓用戶在不使用命令行的情況下啟動應(yīng)用程序,并管理conda軟件包和環(huán)境。它已經(jīng)內(nèi)置了許多非常有用的第三方庫,如NumPy、Pandas、Scrip、Matplotlib等,這使得程序的安裝比常規(guī)Python安裝要容易很多,更適合初學(xué)者使用。二、Anaconda交互式開發(fā)環(huán)境
JupyterNotebook是一個嵌入于瀏覽器(編者使用360極速瀏覽器,并設(shè)置為默認(rèn)瀏覽器)界面的開發(fā)環(huán)境,程序會自動調(diào)用瀏覽器,并打開系統(tǒng)默認(rèn)保存路徑。二、PyCharm項(xiàng)目式開發(fā)環(huán)境PyCharm是一種PythonIDE(IntegratedDevelopmentEnvironment,集成開發(fā)環(huán)境),它帶有一整套工具,可以幫助用戶在使用Python語言開發(fā)時提高其效率,如調(diào)試、語法高亮、項(xiàng)目管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制等。此外,該IDE提供了一些高級功能,以用于支持Django框架下的專業(yè)Web開發(fā)。Python的三方庫03三、Python三方庫如果需要使用Python中的三方庫,只需要使用import命令導(dǎo)入庫或函數(shù)即可。如果需要使用未安裝過的三方庫文件,則需要在聯(lián)網(wǎng)的情況下,輸入“pipinstall庫名稱”。項(xiàng)目實(shí)施任務(wù)一任務(wù)二任務(wù)三任務(wù)一:學(xué)習(xí)準(zhǔn)備如何開始學(xué)習(xí)一項(xiàng)新技能?找到一種適合自己的學(xué)習(xí)途徑是非常重要的??梢酝ㄟ^網(wǎng)絡(luò),了解和它有關(guān)的信息,翻閱與它相關(guān)的書籍,查找與它相關(guān)的學(xué)習(xí)資源??梢宰詫W(xué)也可以通過教授的方式開始和它開展深度接觸,在學(xué)習(xí)的過程中實(shí)踐是非常重要的環(huán)節(jié)。完成一份關(guān)于編程語言的調(diào)查報告。網(wǎng)絡(luò)書店中查找出與Python有關(guān)的,銷量較高的10本圖書。在微信中關(guān)注幾個與Python有關(guān)的公眾號。在網(wǎng)絡(luò)中查找Python的學(xué)習(xí)資源。找一款可以在手機(jī)上編輯Python程序的App。12345任務(wù)解析任務(wù)操作任務(wù)二:安裝Anaconda編程環(huán)境
使用控制臺或IDLE編寫Python程序過于麻煩,初學(xué)Python程序設(shè)計(jì)必須要有一個成熟的集成開發(fā)環(huán)境。Anaconda是一個組件集成型的開發(fā)環(huán)境,自帶了許多常用的庫文件。平臺中的JupyterNotebook組件是一個交互性良好的編程環(huán)境,操作界面簡潔,使用方便。能保存代碼運(yùn)行過程中的變量結(jié)果,方便查看歷史信息,它是一款筆記本型的編程環(huán)境,非常適合初學(xué)者。任務(wù)解析任務(wù)二:安裝Anaconda編程環(huán)境
①登錄官網(wǎng)后下載Anaconda應(yīng)用程序。②選擇適合自己計(jì)算機(jī)的版本。任務(wù)操作任務(wù)二:安裝Anaconda編程環(huán)境③下載完成后,找到安裝程序雙擊進(jìn)行安裝。④單擊Next按鈕開始安裝。⑤單擊IAgree按鈕同意安裝協(xié)議。任務(wù)操作任務(wù)二:安裝Anaconda編程環(huán)境⑥用戶類型選擇,建議為所有用戶安裝。⑦選擇安裝路徑,單擊Next按鈕。任務(wù)操作任務(wù)二:安裝Anaconda編程環(huán)境⑧選擇將Anaconda作為默認(rèn)Python,單擊Install按鈕。⑨等待安裝完成。任務(wù)操作任務(wù)二:安裝Anaconda編程環(huán)境⑩安裝完成,單擊Next按鈕。安裝成功,單擊Finish按鈕。任務(wù)操作任務(wù)三:編寫第一個程序JupyterNotebook一個交互性很強(qiáng)的Python開發(fā)環(huán)境,它不僅可以編輯、運(yùn)行代碼,而且還可以保存執(zhí)行過程,添加圖表、注釋文本等,對于初學(xué)者來說,程序的運(yùn)行結(jié)果可以保存成html文件,隨時打開查看,所以JupyterNotebook編輯。任務(wù)解析任務(wù)三:編寫第一個程序創(chuàng)建文件:單擊左側(cè)“Desktop”選擇桌面路徑,單擊右側(cè)的“new”選項(xiàng)卡下的“Python3”選項(xiàng),創(chuàng)建一個放置在電腦桌面的文件。如果需要修改文件保存路徑或是其他文件夾路徑,可以單擊文件按鈕圖標(biāo)中的文件夾圖標(biāo)切換路徑任務(wù)操作任務(wù)三:編寫第一個程序編寫代碼:在編輯框中輸入代碼。運(yùn)行調(diào)試代碼:單擊工具欄中的運(yùn)行按鈕,或使用快捷鍵“Shift+Enter”即可編譯運(yùn)行代碼,若代碼有錯誤,可以根據(jù)提示信息進(jìn)行調(diào)試。任務(wù)操作任務(wù)三:編寫第一個程序保存文件,選擇File→Downloadas命令,選擇要保存的文件類型和保存路徑。任務(wù)操作實(shí)訓(xùn)練習(xí)實(shí)訓(xùn)一實(shí)訓(xùn)二123實(shí)訓(xùn)內(nèi)容
完成PyCharm開發(fā)環(huán)境的安裝,并測試環(huán)境,實(shí)現(xiàn)PyCharm新建項(xiàng)目使用Anaconda的環(huán)境變量,使用輸入/輸出函數(shù)測試編程環(huán)境。實(shí)訓(xùn)要點(diǎn)學(xué)會查閱官網(wǎng)資料和下載安裝程序,安裝應(yīng)用程序;注意設(shè)置程序安裝過程中的各項(xiàng)參數(shù);學(xué)會配置項(xiàng)目環(huán)境變量;環(huán)境搭建完成后會使用簡單的語句測試環(huán)境。實(shí)訓(xùn)步驟實(shí)訓(xùn)一:安裝PyCharm開發(fā)環(huán)境①登錄PyCharm官網(wǎng)。②根據(jù)計(jì)算機(jī)與操作系統(tǒng)信息選擇匹配的應(yīng)用程序版本進(jìn)行下載。③雙擊下載的安裝包,開始安裝。④選擇安裝目錄。⑤等待安裝結(jié)束,單擊Finish按鈕,PyCharm安裝完成。⑥雙擊安裝好的PyCharm圖標(biāo),打開軟件。⑦創(chuàng)建Python項(xiàng)目。⑧在新建項(xiàng)目窗口中配置Python項(xiàng)目解釋器。⑨選擇之前安裝好的Anaconda中python.exe的安裝路徑。⑩配置Python解釋器,配置編碼格式為UTF-8,調(diào)整字體。123實(shí)訓(xùn)內(nèi)容要求用戶一次性輸入三角形三邊長,計(jì)算周長并輸出。假設(shè)用戶輸入正確,且可以構(gòu)成三角形。實(shí)訓(xùn)要點(diǎn)使用input()函數(shù)輸入三角形的三邊;使用int()函數(shù)把輸入的內(nèi)容轉(zhuǎn)換為數(shù)字類型。再使用print()函數(shù)輸出字符串,輸出數(shù)字,輸出計(jì)算值。實(shí)訓(xùn)步驟實(shí)訓(xùn)二:輸入/輸出語句的使用①使用input()函數(shù)輸入第一條邊存儲到變量a中。②使用input()函數(shù)輸入第二條邊存儲到變量b中。③使用input()函數(shù)輸入第三條邊存儲到變量c中。④使用print()函數(shù)輸出信息:“你的三角形周長是:”。厚積薄發(fā),銳意進(jìn)取!基礎(chǔ)數(shù)據(jù)的處理Python程序設(shè)計(jì)基礎(chǔ)目錄CONTENTS1實(shí)訓(xùn)練習(xí)2數(shù)值型數(shù)據(jù)類型3字符型數(shù)據(jù)類型4項(xiàng)目實(shí)施5實(shí)訓(xùn)練習(xí)學(xué)習(xí)目標(biāo)知識目標(biāo)能力目標(biāo)素養(yǎng)目標(biāo)(1)了解Python的語法基礎(chǔ);(2)了解Python的數(shù)據(jù)類型;(3)了解Python的運(yùn)算符;(4)了解Python的運(yùn)算規(guī)則;(5)了解Python的字符串基本操作。(1)定義Python中的變量;(2)使用Python中不同的運(yùn)算方法;(3)使用Python中關(guān)于字符串的內(nèi)置函數(shù)。(1)掌握信息技術(shù)基礎(chǔ)知識與技能;(2)增強(qiáng)信息意識、發(fā)展計(jì)算思維;(3)提高數(shù)字化學(xué)習(xí)與創(chuàng)新能力。學(xué)習(xí)導(dǎo)圖語法規(guī)則01Python基礎(chǔ)語法Python的輸入/輸出標(biāo)識符命名規(guī)則系統(tǒng)關(guān)鍵字Python基礎(chǔ)語法
Python的語法具有嚴(yán)格的縮進(jìn),使用代碼塊表現(xiàn)邏輯關(guān)系,此舉有助于創(chuàng)建整潔的代碼;相比其他語言,使用Python編寫的代碼更容易閱讀、調(diào)試和擴(kuò)展。
對用戶購買商品的顯示和統(tǒng)計(jì)是購物車中非常重要的內(nèi)容,要完成這些基礎(chǔ)信息的顯示,就需要了解如何將自己想要表達(dá)的語言轉(zhuǎn)換成Python語言,并通過某些特定的方法將其輸出。在初學(xué)Python階段,要掌握對基礎(chǔ)類型數(shù)據(jù)的常規(guī)操作處理。Python基礎(chǔ)語法——行與縮進(jìn)代碼塊是Python程序的一個特色,同級代碼不需要使用“{}”進(jìn)行標(biāo)記,只要縮進(jìn)空格數(shù)相同,就視為同一個程序塊。原則二最好在每個類、函數(shù)定義和一段完整的功能代碼之后增加一個空行,在運(yùn)算符兩側(cè)各增加一個空格,逗號后面增加一個空格。原則三盡量不要寫過長的語句。如果語句過長,可以考慮拆分成多個短一些的語句,以保證代碼具有較好的可讀性。如果語句確實(shí)太長而超過屏幕寬度,最好使用續(xù)行符“\”,或者使用圓括號將多行代碼包括起來表示是一條語句。原則一嚴(yán)格縮進(jìn)。Python程序是依靠代碼塊的縮進(jìn)體現(xiàn)代碼之間的邏輯關(guān)系的,縮進(jìn)結(jié)束就表示一個代碼塊結(jié)束了。同一個級別代碼塊的縮進(jìn)量必須相同,以4個空格為基本縮進(jìn)單位。010203Python基礎(chǔ)語法——注釋代碼單行注釋:使用“#”開頭,表示本行#之后的內(nèi)容為注釋。多行注釋:使用包含在一對三引號'''…'''或"""…"""之間,其中不作為執(zhí)行語句的內(nèi)容將被解釋器認(rèn)為是注釋。#下列這行代碼表示需要打印輸出的內(nèi)容print(3)'''下列的代碼塊能打印輸出一句welcome'''print('welcome')"""下列這行代碼能打印輸出一句3.1415926是圓周率"""print(str(3.1415926)+'是圓周率')例如:WriteherePython的輸入/輸出——輸出函數(shù)print()
print()函數(shù)可以將指定內(nèi)容進(jìn)行輸出,輸出的內(nèi)容可以是數(shù)值、字符串,如果是字符串需要用單引號或雙引號進(jìn)行標(biāo)注,如果輸出內(nèi)容是表達(dá)式,將計(jì)算出結(jié)果并輸出。如果需組合輸出多個字符串內(nèi)容時,可以用“+”進(jìn)行拼接。實(shí)例2-1print()函數(shù)的使用print(3)print('welcome')print(120*5/47)print('Welcometo'+'Pythonworld')print(str(3.1415926)+'是圓周率')運(yùn)行結(jié)果如下:3welcome12.76595744680851WelcometoPythonworld3.1415926是圓周率Python的輸入/輸出——輸入函數(shù)input()input()是等待用戶輸入語句,執(zhí)行此語句時用戶必須輸入一個值,程序才能往后繼續(xù)執(zhí)行。input()圓括號中單引號括起來的文本是輸入提示?;菊Z法格式如下:變量名=input("<提示內(nèi)容>")運(yùn)行帶有input()函數(shù)的語句,系統(tǒng)會彈出一個輸入框,用戶輸入內(nèi)容后,按【Enter】鍵即可結(jié)束數(shù)據(jù)輸入,同時完成輸入內(nèi)容的保存。password=input('請輸入你的密碼')print('你的密碼是:',password)#輸出不同類型的內(nèi)容,第一個為字符串,第二個為變量3welcome12.76595744680851WelcometoPythonworld3.1415926是圓周率運(yùn)行結(jié)果如下:注意:在使用input()函數(shù)時,需要先完成內(nèi)容的輸入操作,再調(diào)用剛剛輸入的數(shù)據(jù)。否則程序會出現(xiàn)死鎖,若出現(xiàn)死鎖情況,需要關(guān)閉程序后再運(yùn)行。#實(shí)例2-2input()函數(shù)的使用Python標(biāo)識符命名規(guī)則現(xiàn)實(shí)生活中,人們常用一些名稱來標(biāo)記事物。例如,每種水果都有一個名稱來標(biāo)識。若希望在程序中表示一些事物,開發(fā)人員需要自定義一些符號和名稱,這些符號和名稱稱為標(biāo)識符。Python中的標(biāo)識符需要遵守一定的規(guī)則。標(biāo)識符命名規(guī)則如下:①標(biāo)識符由字母、下畫線和數(shù)字組成,且數(shù)字不能開頭。②Python中的標(biāo)識符是區(qū)分大小寫的。例如,andy和Andy是不同的標(biāo)識符。③Python中的標(biāo)識符不能使用關(guān)鍵字。為了規(guī)范命名標(biāo)識符,關(guān)于標(biāo)識符的命名有以下建議:常量名使用大寫的單個單詞或由下畫線連接的多個單詞;模塊名、函數(shù)名使用小寫的單個單詞或由下畫線連接的多個單詞;類名使用大寫字母開頭的單個或多個單詞。大駝峰:即每個單詞首字母都大寫,如StudentId。小駝峰:第二個(含)后的單詞首字母大寫,如studentId。下畫線:如student_id。系統(tǒng)關(guān)鍵字關(guān)鍵字是Python已經(jīng)使用的、不允許開發(fā)人員重復(fù)定義的標(biāo)識符。Python3中共有35個關(guān)鍵字(圖中__peg_parser__是Python3.9中的一個小彩蛋,并不是關(guān)鍵字),每個關(guān)鍵字都有不同的作用。在Jupyter單元格中執(zhí)行help(“keywords”)語句可查看這些關(guān)鍵字。數(shù)值型數(shù)據(jù)類型02變量數(shù)據(jù)類型運(yùn)算符運(yùn)算符的優(yōu)先級數(shù)值型數(shù)據(jù)類型——變量在程序中,數(shù)據(jù)都是臨時存儲在內(nèi)存中,為了更快速地查找或使用這個數(shù)據(jù),用戶通常給內(nèi)存中的這個數(shù)據(jù)定義一個名稱,這個名稱就是變量。Python使用標(biāo)識符標(biāo)識不同的內(nèi)存單元,如此,標(biāo)識符與數(shù)據(jù)建立了聯(lián)系。標(biāo)識內(nèi)存單元的標(biāo)識符又稱變量名,Python通過賦值運(yùn)算符“=”將內(nèi)存單元中存儲的數(shù)值與變量名建立聯(lián)系,即定義變量,具體語法格式如下:變量=值#實(shí)例2-3變量的定義與使用自定義變量名,要滿足標(biāo)識符命名規(guī)則。在編輯框中輸入以下代碼并運(yùn)行。studentid=20220001print(studentid)運(yùn)行結(jié)果如下:20220001數(shù)值型數(shù)據(jù)類型——數(shù)據(jù)類型根據(jù)數(shù)據(jù)存儲形式的不同,數(shù)據(jù)類型分為基礎(chǔ)的數(shù)字類型和比較復(fù)雜的組合類型,其中數(shù)字類型又分為整型、浮點(diǎn)型、布爾類型和復(fù)數(shù)類型;組合類型分為字符串、列表、元組、集合、字典等,如圖所示。print(type(studentid))print(type('Welcom'))運(yùn)行結(jié)果如下:<class'int'><class'str'>#實(shí)例2-4查詢變量的類型實(shí)例2-3中定義的變量studentid的數(shù)據(jù)是什么數(shù)據(jù)類型呢?檢測數(shù)據(jù)類型使用type()函數(shù),在編輯框中輸入以下代碼并運(yùn)行。數(shù)值型數(shù)據(jù)類型——運(yùn)算符算數(shù)運(yùn)算符Python運(yùn)算符是一種特殊的符號,主要用于實(shí)現(xiàn)數(shù)值之間的運(yùn)算。根據(jù)操作數(shù)的數(shù)量不同,運(yùn)算符可分為單目運(yùn)算符、雙目運(yùn)算符;根據(jù)運(yùn)算符的功能,運(yùn)算符可分為算術(shù)運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符和成員運(yùn)算符。Python中的算術(shù)運(yùn)算符包括:+、-、*、/、//、%和**,見表注意:混合運(yùn)算優(yōu)先級順序:()高于**高于*///%高于+。數(shù)值型數(shù)據(jù)類型——運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符的作用是將一個表達(dá)式或?qū)ο筚x值給一個左值。左值是指一個能位于賦值運(yùn)算符左邊的表達(dá)式,它通常是一個可修改的變量,不能是一個常量。#單個變量賦值:num=1print(num)#多個變量賦值:num1,?oat1,str1=10,0.5,'helloworld'print(num1)print(?oat1)print(str1)#多變量賦相同值:a=b=10print(a)print(b)運(yùn)行結(jié)果:1100.5helloworld1010#實(shí)例2-5賦值運(yùn)算符"="的使用數(shù)值型數(shù)據(jù)類型——運(yùn)算符復(fù)合賦值運(yùn)算符Python中的算術(shù)運(yùn)算符可以與賦值運(yùn)算符組成復(fù)合賦值運(yùn)算符,賦值運(yùn)算符同時具備運(yùn)算和賦值兩項(xiàng)功能。Python復(fù)合賦值運(yùn)算符的功能說明及示例見表。#實(shí)例2-6復(fù)合賦值運(yùn)算符的使用a=100a+=1
#輸出101,a=a+1,最終a=100+1print('a的終值為:',a)b=2b*=3
#輸出6,b=b*3,最終b=2*3print('b的終值為:',b)c=10c+=1+2#輸出13,先計(jì)算運(yùn)算符右側(cè)1+2=3,c+=3,推導(dǎo)出c=10+3print('c的終值為:',c)運(yùn)行結(jié)果如下:a的終值為:101b的終值為:6c的終值為:13數(shù)值型數(shù)據(jù)類型——運(yùn)算符比較運(yùn)算符比較運(yùn)算符又稱關(guān)系運(yùn)算符,用于比較兩個數(shù)值,判斷它們之間的關(guān)系。Python中的比較運(yùn)算符包括==、!=、>、<、>=、<=,它們通常用于布爾測試,測試結(jié)果只能是True或False,Python比較運(yùn)算符的功能說明及示例見表#實(shí)例2-7比較運(yùn)算符的使用a=1b=2print(a==b)#Falseprint(a!=b)#Trueprint(a<b)#Trueprint(a>b)#Falseprint(a<=b)#Trueprint(a>=b)#False運(yùn)行結(jié)果如下:FalseTrueTrueFalseTrueFalse數(shù)值型數(shù)據(jù)類型——運(yùn)算符邏輯運(yùn)算符Python中分別使用or、and、not三個關(guān)鍵字作為邏輯運(yùn)算符,功能說明及示例見表其中or與and為雙目運(yùn)算符,not為單目運(yùn)算符。#實(shí)例2-8邏輯運(yùn)算符的使用運(yùn)行結(jié)果如下:TrueFalseTrueTruea=1b=2c=3print((a<b)and(b<c))#Trueprint((a>b)and(b<c))#Falseprint((a>b)or(b<c))
#Trueprint(not(a>b))
#True數(shù)值型數(shù)據(jù)類型——運(yùn)算符的優(yōu)先級Python中支持使用多個不同的運(yùn)算符連接簡單表達(dá)式,實(shí)現(xiàn)相對復(fù)雜的功能,為了避免含有多個運(yùn)算符的表達(dá)式出現(xiàn)歧義,Python為每種運(yùn)算符都設(shè)定了優(yōu)先級。Python中運(yùn)算符的優(yōu)先級及其功能見表字符型數(shù)據(jù)類型03字符串轉(zhuǎn)義符索引字符串格式化字符串的常用操作字符型數(shù)據(jù)類型——字符串Python中的文本數(shù)據(jù)由str對象或字符串處理。字符串是不可變序列。字符串文字以多種方式編寫:單引號:name='Michael'雙引號:name="Tom"三引號:name='''Jerry'''
text="""IamJerry
nicetomeetyou"""注意:三引號形式的字符串支持換行。Python使用反斜杠“\”轉(zhuǎn)義,在字符串中的引號前添加“\”,此時Python解釋器會將“\”之后的引號視為解釋為一個普通字符,而非特殊符號。以下例子中,變量text2中使用了“\”轉(zhuǎn)義,所以單引號被視為一個普通字符。text1="I'mTom"text2='I\'mTom'字符型數(shù)據(jù)類型——轉(zhuǎn)義符Python中一些普通字符與反斜杠組合后將失去原有意義,產(chǎn)生新的含義。轉(zhuǎn)義字符是常見的具有特殊意義的字符,見表1-2-6。轉(zhuǎn)義字符通常用于表示一些無法顯示的字符,如空格、回車等。常用轉(zhuǎn)義符如表字符型數(shù)據(jù)類型——索引“下標(biāo)”又稱“索引”,相當(dāng)于元素編號。下標(biāo)從0開始。比如火車座位號,座位號的作用:按照編號快速找到對應(yīng)的座位。同理,下標(biāo)的作用即是通過下標(biāo)快速找到對應(yīng)的數(shù)據(jù)。除此之外還可以利用索引號對字符串進(jìn)行切片,訪問指定范圍內(nèi)的字符串,例如:需求:字符串name='Michael',取到不同下標(biāo)對應(yīng)數(shù)據(jù)。name='Michael'print('字符串第一個位置:',name[0])print('字符串第二個位置:',name[1])print('字符串第一到第三個位置:',name[0:3])print('字符串第四個位置之后的所有:',name[3:])運(yùn)行結(jié)果如下:字符串第一個位置:M字符串第二個位置:i字符串第一到第三個位置:Mic字符串第四個位置之后的所有:hael#實(shí)例2-9索引號的使用字符型數(shù)據(jù)類型——字符串格式化字符串格式化是指將指定的字符串轉(zhuǎn)換為想要的格式。Python中字符串可通過“%”格式符格式化輸出,格式符及其說明見表此外,對于數(shù)值型變量的格式化輸出,可以通過一些特殊格式,規(guī)定輸出的樣式“-”表示左對齊,“.”表示小數(shù)點(diǎn)后位數(shù),“0”表示左邊補(bǔ)零。a='"'print('字符串a(chǎn)轉(zhuǎn)換為字符是:','%s'%a)#將字符串轉(zhuǎn)換成字符b=1c='00'print('整數(shù)b轉(zhuǎn)換為字符串是:%s'%b)#將整數(shù)轉(zhuǎn)換成字符串print('b和c作為字符串拼接的結(jié)果是:%s'%b+c)#將轉(zhuǎn)換后的字符串進(jìn)行拼接d=10.1print('浮點(diǎn)數(shù)d轉(zhuǎn)換為整數(shù)是:%d'%d)#將浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)e=5pi=3.1415926print('整數(shù)e轉(zhuǎn)換為浮點(diǎn)數(shù)是:%f'%e)#將整數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù)print('保留浮點(diǎn)數(shù)pi小數(shù)點(diǎn)后2位的結(jié)果是:%.2f'%pi)#保留小數(shù)點(diǎn)后2位字符串a(chǎn)轉(zhuǎn)換為字符是:“整數(shù)b轉(zhuǎn)換為字符串是:1b和c作為字符串拼接的結(jié)果是:100浮點(diǎn)數(shù)d轉(zhuǎn)換為整數(shù)是:10整數(shù)e轉(zhuǎn)換為浮點(diǎn)數(shù)是:5.000000保留浮點(diǎn)數(shù)pi小數(shù)點(diǎn)后2位的結(jié)果是:3.14#實(shí)例2-10利用格式符格式化輸出對象運(yùn)行結(jié)果如下:字符型數(shù)據(jù)類型——字符串格式化在字符串的格式化輸出中,format()函數(shù)使用頻率很高,它是字符串內(nèi)嵌的一個方法,用于格式化字符串。它以大括號{}標(biāo)明被替換的字符串,它把傳統(tǒng)的%替換為{}實(shí)現(xiàn)格式化輸出,通過索引號和參數(shù)進(jìn)行匹配的方式格式化字符串。#".2f"表示對輸入的參數(shù)轉(zhuǎn)換為浮點(diǎn)型并保留2位小數(shù)print('圓周率的值是{:.2f}'.format(3.1415926))#索引號{0}對應(yīng)format參數(shù)中的"5",索引號{1}對應(yīng)format參數(shù)中的"10"print('三角形的底是{0},高是{1},面積是{2}'.format(5,10,25))運(yùn)行結(jié)果如下:圓周率的值是3.14三角形的底是5,高是10,面積是25#實(shí)例2-11使用format()函數(shù)進(jìn)行字符串的格式化輸出字符型數(shù)據(jù)類型——字符串的常用操作字符串的常用操作有查找、修改和判斷三大類。常用的查找函數(shù)見表注意:開始和結(jié)束位置下標(biāo)可以省略,表示在整個字符串序列中查找。字符型數(shù)據(jù)類型——字符串的常用操作查找#實(shí)例2-12使用?nd()函數(shù)查找匹配的目標(biāo)字符串str='hellomynameisTom'print(str.?nd('my'))
#結(jié)果為6,在字符串中下標(biāo)第6位找到myprint(str.?nd('name',0,15))
#結(jié)果為9,在字符串中下標(biāo)第0~15位查找print(str.?nd('ands'))
#結(jié)果為-1,在字符串中找不到'ands'運(yùn)行結(jié)果如下:69-1在使用find()函數(shù)查找目標(biāo)字符串時,若目標(biāo)字符串不存在,則返回的索引號為“-1”。index()函數(shù)的主要功能是查找字符串的位置,index()函數(shù)未找到目標(biāo)字符串時程序會報錯。字符型數(shù)據(jù)類型——字符串的常用操作查找str='hellomynameisTom'print(str.index('my'))print(str.index('name',0,15))print(str.index('ands'))#報錯運(yùn)行結(jié)果如下圖:#實(shí)例2-13使用index()函數(shù)查找匹配的目標(biāo)字符串#實(shí)例2-14使用count()函數(shù)統(tǒng)計(jì)目標(biāo)字符串出現(xiàn)的次數(shù)str='hellomynameisTom,whatisyourname'print(str.count('name'))#字符串中出現(xiàn)了2次'name'print(str.count('name',0,15))#字符串下標(biāo)0~15中出現(xiàn)了1次'name'print(str.count('ands'))#字符串中沒出現(xiàn)過'ands'運(yùn)行結(jié)果如下:210字符型數(shù)據(jù)類型——字符串的常用操作修改所謂修改字符串,指的是通過函數(shù)的形式修改字符串中的數(shù)據(jù)。常用的字符串修改函數(shù)見表注意:數(shù)據(jù)按照是否能直接修改分為可變類型和不可變類型兩種。字符串類型的數(shù)據(jù)修改時不能改變原有字符串,屬于不能直接修改數(shù)據(jù)的類型即是不可變類型。字符型數(shù)據(jù)類型——字符串的常用操作修改#實(shí)例2-15使用replace()函數(shù)替換字符串str='hellomynameisTom,whatisyourname'#將字符串中'name'替換成為'?rstname'print(str.replace('name','?rstname'))#將字符串中'name'替換成為'?rstname'僅替換一次print(str.replace('name','?rstname',1))print(str)運(yùn)行結(jié)果如下:hellomy?rstnameisTom,whatisyour?rstnamehellomy?rstnameisTom,whatisyournamehellomynameisTom,whatisyourname#實(shí)例2-16使用split()函數(shù)分割字符串#實(shí)例2-17拼接字符串字符型數(shù)據(jù)類型——字符串的常用操作str='hellomynameisTom,whatisyourname'print(str.split('name'))print(str.split('name',1))#僅按照子串'name'分割1次,返回?cái)?shù)據(jù)個數(shù)為2print(str.split(''))print(str.split('',1))#僅按照子串''分割1次,返回?cái)?shù)據(jù)個數(shù)為2運(yùn)行結(jié)果如下:['hellomy','isTom,whatisyour','']['hellomy','isTom,whatisyourname']['hello','my','name','is','Tom,','what','is','your','name']['hello','mynameisTom,whatisyourname']修改symbol='_'#要添加的字符串word='Hello'#被添加的字符串print(symbol.join(word))#將symbol添加進(jìn)入word#使用"+"函數(shù)拼接字符串symbol='*'word='Hello'print(symbol+symbol+word+symbol+'*')#未定義成變量的字符串也可以拼接運(yùn)行結(jié)果如下:H_e_l_l_o**Hello**字符型數(shù)據(jù)類型——字符串的常用操作修改str='hellomynameisTom,whatisyourname'print('原字符串:',str)print('句首單詞字母大寫:',str.capitalize())#capitalize()函數(shù)將字符串首字母轉(zhuǎn)換為大寫print('所有單詞首字母大寫:',str.title())
#title()函數(shù)將字符串每個單詞首字母轉(zhuǎn)換為大寫print('所有單詞首字母小寫:',str.lower())
#lower()函數(shù)將字符串中每個大寫字符轉(zhuǎn)換為小寫print('所有字母變?yōu)榇髮?',str.upper())
#upper()函數(shù)將字符串中每個小寫字母轉(zhuǎn)換為大寫運(yùn)行結(jié)果如下:原字符串:hellomynameisTom,whatisyourname句首單詞字母大寫:Hellomynameistom,whatisyourname所有單詞首字母大寫:HelloMyNameIsTom,WhatIsYourName所有單詞首字母小寫:hellomynameistom,whatisyourname所有字母變?yōu)榇髮?HELLOMYNAMEISTOM,WHATISYOURNAME在字符的處理中,常常需要批量設(shè)置字母大小寫,Python中的函數(shù)可以實(shí)現(xiàn)大小寫字母的相互轉(zhuǎn)換。例如:#實(shí)例2-18字母的大小寫轉(zhuǎn)換字符型數(shù)據(jù)類型——字符串的常用操作判斷所謂判斷即是判斷真假,返回的結(jié)果是布爾類型數(shù)據(jù):True或False。常用判斷函數(shù)見表在字符的處理中,常常需要批量設(shè)置字母大小寫,Python中的函數(shù)可以實(shí)現(xiàn)大小寫字母的相互轉(zhuǎn)換。例如:#實(shí)例2-19字符串匹配判斷str='hellomynameisTom,whatisyourname'print(str.startswith('hello'))#判斷該字符串是否以'hello'開頭print(str.startswith('hello',0,3))#判斷該字符串中下標(biāo)0開始3結(jié)束,是否以'hello'開頭print(str.endswith('name'))#判斷該字符串是否以'name'結(jié)尾print(str.endswith('name',0,5))#判斷該字符串下標(biāo)0~5位是否以'name'結(jié)尾print(str.endswith('your'))#判斷該字符串是否以'your'結(jié)尾運(yùn)行結(jié)果如下:TrueFalseTrueFalseFalse項(xiàng)目實(shí)施任務(wù)一任務(wù)二任務(wù)一購買列表中數(shù)字對象的計(jì)算與輸出任務(wù)解析利用本項(xiàng)目所學(xué)內(nèi)容,輸出一個用戶所購買的產(chǎn)品列表。使用Python的內(nèi)置函數(shù)print()函數(shù)可以逐行打印信息。重點(diǎn)掌握input()函數(shù)的用法和print()函數(shù)的用法;使用int()函數(shù)將輸入的值轉(zhuǎn)換為數(shù)字。①定義兩個變量user1和user2,內(nèi)容為Leo和Michelle。②定義兩個商品名稱變量product1和product2,內(nèi)容分別為"FILA"和"SAILOR"。③使用input()函數(shù)輸入購買商品的數(shù)量,account1=1、account2=2。④使用int()函數(shù)將輸入的商品數(shù)量值轉(zhuǎn)換為數(shù)字,方便計(jì)算。⑤使用print()函數(shù)輸出user1購買的商品product1,購買的數(shù)量account1、商品單價price1和user1應(yīng)付的總價。⑥使用print()函數(shù)輸出user2購買的商品product2,購買的數(shù)量account2、商品單價price2和user2應(yīng)付的總價。任務(wù)操作任務(wù)二
商品列表中字符對象的計(jì)算與輸出任務(wù)解析從字符串中整理有效信息。從字符串中"1235783|《青少\n年學(xué)Python編程》|中國鐵道出版社|35.6¥"提取出書的名稱放入bookname變量中,提取圖書價格放入price變量中,輸出一句話:“《青少年學(xué)Python編程》的價格是:35.6”。利用本項(xiàng)目所學(xué)內(nèi)容,輸出一個用戶所購買的產(chǎn)品列表。使用Python的字符切片操作提取目標(biāo)內(nèi)容,利用字符的內(nèi)置函數(shù)和方法實(shí)現(xiàn)字符串內(nèi)容的修改與提取。重點(diǎn)掌握字符串分割函數(shù)split()、字符串替換函數(shù)replace()的使用方法。重點(diǎn)掌握字符串格式化輸出函數(shù)format()的使用技巧。根據(jù)給定內(nèi)容,編寫代碼并運(yùn)行得到結(jié)果。①定義兩個變量bookname和price,存放書的名稱和書的價格。②將指定內(nèi)容賦值給變量product。③利用索引號,對字符串進(jìn)行切片,獲得圖書的名稱。④利用replace()函數(shù)除去書名子串中的非法字符。⑤利用索引號,對字符串進(jìn)行切片,獲得圖書的價格。⑥利用format()函數(shù)格式化輸出結(jié)果任務(wù)操作實(shí)訓(xùn)練習(xí)實(shí)訓(xùn)一實(shí)訓(xùn)二123實(shí)訓(xùn)內(nèi)容①定義字符串變量name,輸出“我的名字叫小明,請多多關(guān)照!”。②定義整數(shù)變量student_no,輸出“我的學(xué)號是000001”。③定義小數(shù)price、weight、money,輸出“蘋果單價9.00元/斤,購買了5.00斤需要支付45.00元”。④定義一個小數(shù)scale,輸出“數(shù)據(jù)比例是10.00%”。實(shí)訓(xùn)要點(diǎn)①程序要使用到所學(xué)的格式化輸出,故設(shè)置變量時應(yīng)該將原本要輸出整數(shù)的變量設(shè)置為小數(shù)。②程序要使用到所學(xué)的格式化輸出,故設(shè)置變量時應(yīng)該將原本要輸出小數(shù)的變量設(shè)置為整數(shù)。③程序涉及簡單運(yùn)算規(guī)則,運(yùn)算過程要符合邏輯。實(shí)訓(xùn)步驟①定義變量name的值為"小明"。②定義student_no的值為一個小數(shù),如"1.99"。③定義price的值為9。④定義weight的值為5。⑤定義money的值為45。⑥定義scale的值為0.1。⑦使用print()函數(shù)輸出相關(guān)信息。實(shí)訓(xùn)一格式化輸出商品信息實(shí)訓(xùn)二打印出用戶的BMI123實(shí)訓(xùn)內(nèi)容BMI指數(shù)即身體健康指數(shù),它與人的體重和身高相關(guān),是目前國際常用的衡量人體胖瘦程度以及是否健康的一個標(biāo)準(zhǔn)。已知BMI值的計(jì)算公式如下:體質(zhì)指數(shù)(BMI)=體重(kg)÷身高^2(m)實(shí)訓(xùn)要點(diǎn)①程序需要接收用戶輸入的身高、體重,此功能需借助input()函數(shù)實(shí)現(xiàn)。②input()函數(shù)的返回值是一個字符串,在根據(jù)公式進(jìn)行運(yùn)算之前需要將表示字符串類型的身高、體重轉(zhuǎn)換為浮點(diǎn)數(shù)。③獲取到了浮點(diǎn)數(shù)類型的身高、體重,可根據(jù)公式計(jì)算出體質(zhì)指數(shù)。需要注意公式中涉及除法運(yùn)算和冪運(yùn)算,Python程序中使用的除法運(yùn)算符為“/”,冪運(yùn)算符為“**”。實(shí)訓(xùn)步驟①使用input()函數(shù)輸入身高到變量hight中。②使用input()函數(shù)輸入體重到變量weight中。③使用公式將結(jié)果賦值給變量BMI。④使用print()函數(shù)輸出信息"您的BMI是:"。厚積薄發(fā),銳意進(jìn)??!組合數(shù)據(jù)的處理Python程序設(shè)計(jì)基礎(chǔ)目錄CONTENTS1組合數(shù)據(jù)的分類2列表3元組4字典5集合實(shí)訓(xùn)練習(xí)7項(xiàng)目實(shí)施6學(xué)習(xí)目標(biāo)知識目標(biāo)能力目標(biāo)素養(yǎng)目標(biāo)(1)了解Python的發(fā)展歷史;(2)了解Python語言的特點(diǎn);(3)了解Python的應(yīng)用領(lǐng)域。(1)熟練掌握列表、元組、字典及集合的創(chuàng)建及元素訪問方式;(2)掌握列表的遍歷與排序操作;(3)熟練掌握列表、字典中元素的添加、刪除、修改等操作;(4)熟練掌握集合運(yùn)算及操作符的使用。(1)能對具體問題進(jìn)行分析和抽象,得出問題的關(guān)鍵要素和特質(zhì);(2)針對實(shí)際問題進(jìn)行逐步分解,明確其關(guān)鍵環(huán)節(jié)。學(xué)習(xí)導(dǎo)圖按組成方式分類按可變性分類組合數(shù)據(jù)的分類01Python有四種內(nèi)建的數(shù)據(jù)結(jié)構(gòu):列表、元組、字典、集合
Python中的數(shù)據(jù)結(jié)構(gòu)是根據(jù)某種方式將數(shù)據(jù)元素組合起來形成的一個數(shù)據(jù)元素集合。數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)存儲、組織數(shù)據(jù)的方式,是構(gòu)建程序的基礎(chǔ)。因?yàn)閿?shù)據(jù)結(jié)構(gòu)是由一些元素組合而成的結(jié)構(gòu)形式,這些元素可以是數(shù)字、字符或是它們的組合,故數(shù)據(jù)結(jié)構(gòu)也可以統(tǒng)稱為容器。1序列類型23映射類型集合類型序列是數(shù)據(jù)結(jié)構(gòu)對象的有序排列,數(shù)據(jù)結(jié)構(gòu)對象作為序列的元素都會被分配一個位置編號即索引,序列就相當(dāng)于數(shù)學(xué)中數(shù)列的概念。映射類型就是存儲了對象與對象之間的映射關(guān)系的數(shù)據(jù)結(jié)構(gòu)類型,Python中唯一的映射類型數(shù)據(jù)結(jié)構(gòu)是字典。集合是Python中另外一種數(shù)據(jù)結(jié)構(gòu)類型。集合中的元素不能重復(fù)出現(xiàn),即集合中的元素是相對唯一的,并且元素不存在排列順序。按組成方式分類1可變數(shù)據(jù)類型2不可變數(shù)據(jù)類型可變數(shù)據(jù)類型,是指可以直接對數(shù)據(jù)結(jié)構(gòu)對象的內(nèi)容進(jìn)行修改(并非重新對對象賦值操作)的數(shù)據(jù),即可以對數(shù)據(jù)結(jié)構(gòu)對象進(jìn)行元素的賦值修改、刪除或增加等操作。不可變數(shù)據(jù)類型不能對數(shù)據(jù)結(jié)構(gòu)對象的內(nèi)容進(jìn)行修改操作,不能對對象中的元素進(jìn)行增加、刪除和賦值修改。按可變性分類列表的創(chuàng)建訪問列表元素列表02列表的遍歷及排序列表元素的增刪改查嵌套列表列表的其他常用函數(shù)可迭代對象列表的創(chuàng)建列表的創(chuàng)建列表是Python中最靈活的有序序列,它可以存儲任意類型的元素,即列表中各個元素的類型可以互不相同;同時列表中的元素可以重復(fù)出現(xiàn),并且支持索引、切片、遍歷等一系列操作。(1)方括號[]創(chuàng)建列表(2)list()函數(shù)創(chuàng)建列表#實(shí)例3-1使用方括號[]創(chuàng)建列表prod_no1=[]print('該變量的值為:',prod_no1)#查詢并打印輸出列表內(nèi)容print('該變量的數(shù)據(jù)類型為:',type(prod_no1))#查詢并打印輸出變量prod_no1的數(shù)據(jù)結(jié)構(gòu)類型prod_no1=['FILA',65,388,268]#創(chuàng)建一個包含字符串和數(shù)值型數(shù)據(jù)的列表print('該變量的值為:',prod_no1)#查詢并打印輸出列表內(nèi)容代碼運(yùn)行結(jié)果如下:該變量的值為:[]該變量的數(shù)據(jù)類型為:<class'list'>該變量的值為:['FILA',65,388,268]列表的創(chuàng)建#實(shí)例3-2使用list()函數(shù)創(chuàng)建列表#傳入數(shù)字、字符混合類型prod_no1=list(('FILA',65,388,268))#向list()函數(shù)傳入一個對象print('該變量的值為:',prod_no1)#查詢并打印輸出列表內(nèi)容print('該變量的數(shù)據(jù)類型為:',type(prod_no1))#查詢變量prod_no1的數(shù)據(jù)結(jié)構(gòu)類型#傳入內(nèi)容為空prod_no2=list()print('該變量的值為:',prod_no2)#查詢并打印輸出列表內(nèi)容print('該變量的數(shù)據(jù)類型為:',type(prod_no2))#查詢變量prod_no2的數(shù)據(jù)結(jié)構(gòu)類型代碼運(yùn)行結(jié)果如下:該變量的值為:['FILA',65,388,268]該變量的數(shù)據(jù)類型為:<class'list'>該變量的值為:[]該變量的數(shù)據(jù)類型為:<class'list'>注意:list()函數(shù)接收的參數(shù)必須是一個可迭代類型的數(shù)據(jù)。如圖所示,list()函數(shù)的參數(shù)為整數(shù),由于整數(shù)不是可迭代類型數(shù)據(jù),所以列表創(chuàng)建失敗。訪問列表元素——使用索引方式訪問列表元素#實(shí)例3-3使用索引方式訪問列表元素prod_no1=['FILA',65,388,268]print('商品名稱為:',prod_no1[0])#訪問列表中索引為0的元素print('商品價格為:',prod_no1[-1])#訪問列表中索引為-1的元素代碼運(yùn)行結(jié)果如下:商品名稱為:FILA商品價格為:268使用索引可以獲取列表中的指定元素,操作時需在列表對象后面緊接方括號[]包括索引,格式為:list_name[index],即列表對象[索引]#實(shí)例3-4引入錯誤索引號運(yùn)行錯誤提示prod_no1=['FILA',65,388,268]print(prod_no1[4])#傳入的索引大于最后一個元素的正索引print(prod_no1[-5])#傳入的索引小于第1個元素的負(fù)索引代碼運(yùn)行結(jié)果如下:注意:若一個列表有n個元素,則訪問元素的合法序號范圍是-n~n-1,當(dāng)序號x為負(fù)時,表示從序列的末尾開始計(jì)數(shù),實(shí)際訪問的是序號為n+x的元素。當(dāng)傳入的索引超出列表正索引或負(fù)索引范圍時,即小于第1個元素的負(fù)索引或大于最后一個元素的正索引時,Python會返回一個錯誤。訪問列表元素——使用切片方式訪問列表元素#實(shí)例3-5使用切片訪問列表元素prod_no2=['2204201020030002','MacbookAir',23,7999,7199]print(prod_no2[1:4:2])#獲取列表中索引為1至索引為4且步長為2的元素print(prod_no2[3:])#獲取列表中索引為3至末尾的元素print(prod_no2[0:4])#獲取列表中索引為0至索引為4的元素print(prod_no2[:])#獲取列表中的所有元素print(prod_no2[::-1])#獲取列表中的所有元素,步長為-1即為反轉(zhuǎn)代碼運(yùn)行結(jié)果如下:['MacbookAir',7999][7999,7199]['2204201020030002','MacbookAir',23,7999]['2204201020030002','MacbookAir',23,7999,7199][7199,7999,23,'MacbookAir','2204201020030002']切片訪問方式,即使用“列表序號對”來截取列表中的任何部分,并且得到一個新列表?!靶蛱枌Α敝械谝粋€序號(左索引)表示切片開始位置,第二個序號(右索引)表示切片截止(但不包含)位置。當(dāng)切片的左索引為0時可省略,當(dāng)右索引為列表長度時也可省略。另外,當(dāng)步長為0時會報錯,如圖所示。訪問列表元素——使用切片方式訪問列表元素#實(shí)例3-6逆序訪問列表元素print(prod_no2[1:10])#獲取列表中從索引第1位到右端之間的所有元素print(prod_no2[-2:-20:-1])#獲取列表中從倒數(shù)第2位到左端之間的所有元素print(prod_no2[5:1])#從起始索引無法到達(dá)終止索引時,返回一個空列表代碼運(yùn)行結(jié)果如下:['MacbookAir',23,7999,7199][7999,23,'MacbookAir','2204201020030002'][]與列表索引操作有所不同的是,切片操作無須擔(dān)心傳入的索引超出列表索引范圍。如果傳入的索引小于列表第1個元素的負(fù)索引,切片操作會默認(rèn)將其視作0;如果大于列表最后一個元素的正索引,則將其當(dāng)作-1處理。另外,當(dāng)切片操作從起始索引沿著獲取方向無法達(dá)到終止索引時,Python將會返回一個空列表。例如:Writehere列表的遍歷#實(shí)例3-7使用for循環(huán)實(shí)現(xiàn)列表元素的遍歷cust_no1=['Tina','Aaron','Donald','Linda','Betty','Michelle']foriincust_no1:print('Dear{i},您好!今日關(guān)注有驚喜喲!')代碼運(yùn)行結(jié)果如下:DearTina,您好!今日關(guān)注有驚喜喲!DearAaron,您好!今日關(guān)注有驚喜喲!DearDonald,您好!今日關(guān)注有驚喜喲!DearLinda,您好!今日關(guān)注有驚喜喲!DearBetty,您好!今日關(guān)注有驚喜喲!DearMichelle,您好!今日關(guān)注有驚喜喲!對于列表這種存儲多個數(shù)據(jù)的存儲結(jié)構(gòu),有時需要依次訪問列表中的每個元素,稱為遍歷。#實(shí)例3-8使用while循環(huán)實(shí)現(xiàn)列表元素的遍歷cust_no1=['Tina','Aaron','Donald','Linda','Betty','Michelle']i=0#使用while循環(huán)實(shí)現(xiàn)列表元素的遍歷whilei<len(cust_no1):print('Dear',cust_no1[i],'您好!今日關(guān)注有驚喜喲!')
i=i+1代碼運(yùn)行結(jié)果如下:DearTina您好!今日關(guān)注有驚喜喲!DearAaron您好!今日關(guān)注有驚喜喲!DearDonald您好!今日關(guān)注有驚喜喲!DearLinda您好!今日關(guān)注有驚喜喲!DearBetty您好!今日關(guān)注有驚喜喲!DearMichelle您好!今日關(guān)注有驚喜喲!列表的遍歷#實(shí)例3-9使用for循環(huán)實(shí)現(xiàn)列表元素求和統(tǒng)計(jì)list_demo=[34,65,67,233,7,34,120,43,1]total=0foriinlist_demo:total+=iprint('列表list_demo的累加和為:',total)代碼運(yùn)行結(jié)果如下:列表list_demo的累加和為:604遍歷操作還可實(shí)現(xiàn)其他很多功能。比如,將列表元素進(jìn)行求和運(yùn)算,代碼如下:列表的排序列表的排序是將元素按照某種規(guī)律進(jìn)行排列。Python中列表的常用排序函數(shù)有sort()、reverse()、sorted()參數(shù)key表示指定的排序規(guī)則,該參數(shù)可以是列表支持的函數(shù);參數(shù)reverse表示控制列表元素排序的方式,可以取值True或者False。如果reverse的值為True則表示降序排列,如果reverse的值為False(默認(rèn)值)則表示升序排列。列表的排序#實(shí)例3-10使用sort()函數(shù)對列表元素排序list_demo1=[43,3,0,761,12,-23]#將列表中元素降序排序list_demo1.sort(reverse=True)print("降序排序后列表:",list_demo1)#將列表中元素升序排序list_demo1.sort()print("升序排序后列表:",list_demo1)cust_no1=['Tina','Aaron','Donald','Betty','Michelle']#將列表中元素按字符串長度升序排序cust_no1.sort(key=len)print("按字符串長度升序排序的列表:",cust_no1)#將列表中元素按字符串逆序排序cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.reverse()print("按字符串逆序排序的列表:",cust_no1)list_demo1=[43,3,0,761,12,-23]print("排序后列表:",sorted(list_demo1))print("原列表:",list_demo1)代碼運(yùn)行結(jié)果如下:降序排序后列表:[761,43,12,3,0,-23]升序排序后列表:[-23,0,3,12,43,761]按字符串長度升序排序的列表:['Tina','Aaron','Betty','Donald','Michelle']按字符串逆序排序的列表:['Michelle','Betty','Donald','Aaron','Tina']排序后列表:[-23,0,3,12,43,761]原列表:[43,3,0,761,12,-23]列表元素的增刪改查——添加列表元素向列表中添加元素的常用函數(shù)有append()、extend()和insert()。各函數(shù)的特點(diǎn)及使用格式見表。在列表的末尾添加元素可以使用append()、extend()函數(shù)。使用extend()函數(shù)擴(kuò)展原來的列表時,類似于字符串的拼接。兩個列表對象也可以通過加號“+”進(jìn)行拼接。cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.append('Tom')print(cust_no1)#使用extend()函數(shù)增加多個元素cust_no2=['Kade','Nadia','Dacey','Taffy']cust_no1.extend(cust_no2)print(cust_no1)#使用"+"號拼接兩個列表print(cust_no1+cust_no2)#實(shí)例3-11在列表末尾添加新元素代碼運(yùn)行結(jié)果如下:['Tina','Aaron','Donald','Betty','Michelle','Tom']['Tina','Aaron','Donald','Betty','Michelle','Tom','Kade','Nadia','Dacey','Taffy']['Tina','Aaron','Donald','Betty','Michelle','Tom','Kade','Nadia','Dacey','Taffy','Kade','Nadia','Dacey','Taffy']列表元素的增刪改查——添加列表元素若需要在列表的指定位置添加元素可以使用insert()函數(shù)。#在列表第3號位置插入指定元素cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.insert(2,'Taffy')print(cust_no1)#設(shè)置的插入位置超出尾端cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.insert(10,'Taffy')print(cust_no1)#實(shí)例3-12在列表指定位置添加元素代碼運(yùn)行結(jié)果如下:['Tina','Aaron','Taffy','Donald','Betty','Michelle']['Tina','Aaron','Donald','Betty','Michelle','Taffy']列表元素的增刪改查——刪除列表元素刪除列表元素的常用方式有del語句、remove()和pop()函數(shù),功能和使用格式見表cust_no1=['Tina','Aaron','Donald','Betty','Michelle']delcust_no1[3]print("刪除第4號位置元素的列表",cust_no1)#實(shí)例3-13使用del刪除指定位置的元素代碼運(yùn)行結(jié)果如下:刪除第4號位置元素的列表['Tina','Aaron','Donald','Michelle']列表元素的增刪改查——刪除列表元素在使用remove()函數(shù)移除某一元素時,若列表中有多個匹配的元素,只會移除匹配到的第一個元素,remove()函數(shù)和del語句的共同點(diǎn)在于都是刪除列表中的指定元素。區(qū)別在于,del語句是通過索引方式指定元素,而remove()函數(shù)是指定元素本身。cust_no1=['Tina','Aaron','Donald','Betty','Michelle']cust_no1.remove('Tina')print("刪除列表中指定元素后的列表",cust_no1)#實(shí)例3-14使用remove()函數(shù)刪除列表中指定元素代碼運(yùn)行結(jié)果如下:刪除列表中指定元素后的列表['Aaron','Donald','Betty','Michelle']列表元素的增刪改查——刪除列表元素pop()函數(shù)移除元素時,會提取索引所對應(yīng)的元素,并將其從列表中刪除,效果相當(dāng)于把列表中的元素抽離出來。若不指定元素索引,pop語句將默認(rèn)使用索引-1,移除列表中最后一個元素。cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']cust_no4=cust_no1.pop()print("原列表",cust_no1)print("刪除末尾元素的列表",cust_no4)#使用pop()函數(shù)彈出指定位置元素cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']cust_no1.pop(3)print(cust_no1)#實(shí)例3-15使用pop()函數(shù)刪除元素代碼運(yùn)行結(jié)果如下:原列表['Tina','Aaron','Donald','Betty','Michelle']刪除末尾元素的列表Tina['Tina','Aaron','Donald','Michelle','Tina']列表元素的增刪改查——修改列表元素可以按需對列表元素進(jìn)行修改。修改列表中的元素就是通過索引獲取元素并對該元素進(jìn)行賦值操作。cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']cust_no1[0]='Taffy'#將索引為0的元素'Tina'重新賦值為'Taffy'print(cust_no1)#實(shí)例3-16列表元素的修改代碼運(yùn)行結(jié)果如下:['Taffy','Aaron','Donald','Betty','Michelle','Tina']列表元素的增刪改查——查詢列表元素通過index()函數(shù)可實(shí)現(xiàn)指定元素的查詢,查詢結(jié)果返回的是元素在列表中第1次出現(xiàn)的位置索引。#查詢'Tina'元素在列表中第1次出現(xiàn)的索引cust_no1=['Tina','Aaron','Donald','Betty','Michelle','Tina']print(cust_no1.index('Tina'))#使用in關(guān)鍵字查詢元素'Taffy'incust_no1#查詢'Taffy'是否包含在列表cust_no1中#實(shí)例3-17列表元素的查找代碼運(yùn)行結(jié)果如下:0False嵌套列表列表可以存儲任何元素,也可以存儲列表。如果列表存儲的元素也是列表則稱為嵌套列表。嵌套列表的創(chuàng)建方式與普通列表的創(chuàng)建方式相同,用方括號[]或list()函數(shù)均可創(chuàng)建嵌套列表。圖所示為一個嵌套列表。該列表中包含了5個列表元素,其中索引為0的元素為['2204201020030001','FILA',1035,568,36],元素本身也是一個列表。嵌套列表的元素訪問嵌套列表中元素的訪問方式與普通列表一樣,可以使用索引訪問嵌套列表中的元素。若希望訪問嵌套的內(nèi)層列表中的元素,則需要先使用索引獲取內(nèi)層列表,再使用索引訪問被嵌套列表中的元素。cust_list=[["2204201020030001","FILA",1035,568,36],["2204201020030002","MacbookAir",7999,7199,3],["2204201020030003","DellXPS13",10850,5688,93],["2204201020030004","SAILOR",206,184,73],["2204201020030005","HERO",158,128,68]]print('商品1',cust_list[0][1])print('商品2',cust_list[1][1])print('商品3',cust_list[2][1])print('商品4',cust_list[3][1])print('商品5',cust_list[4][1])#實(shí)例3-18嵌套列表元素的訪問代碼運(yùn)行結(jié)果如下:運(yùn)行結(jié)果如下:商品1FILA商品2MacbookAir商品3DellXPS13商品4SAILOR商品5HERO列表的其他常用函數(shù)cust_no1=['Tina','Aaron','Donald','Tina','Betty','Michelle','Tina']cust_no1.count('Tina')運(yùn)行結(jié)果如下:3#實(shí)例3-19使用count()函數(shù)查詢元素出現(xiàn)的次數(shù)cust_no1=['Tina','Aaron','Donald','Tina','Betty','Michelle','Tina']len(cust_no1)運(yùn)行結(jié)果如下:7#實(shí)例3-20使用len()函數(shù)查詢列表元素的個數(shù)列表的其他常用函數(shù)cust_no1=['Tina
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 共同經(jīng)營餐廳合同范本
- 三方合作民宿協(xié)議合同范本
- 做飯師傅勞務(wù)合同范本
- 優(yōu)惠租賃合同范本
- 加盟創(chuàng)業(yè)合同范本
- 企業(yè)污水設(shè)備出租合同范本
- 售后服務(wù)體系方案投標(biāo)文件(技術(shù)方案)
- 2024年通遼市奈曼旗人民醫(yī)院招聘醫(yī)務(wù)人員招聘考試真題
- 2024年玉溪市紅塔區(qū)第三幼兒園招聘筆試真題
- 農(nóng)業(yè)機(jī)械合同范本
- 2022版義務(wù)教育英語課程標(biāo)準(zhǔn)整體解讀課件
- 2024精美復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 01 H5入門知識課件
- 2024年企業(yè)管理咨詢服務(wù)費(fèi)簡單合同范本
- 4.城軌工程項(xiàng)目勞務(wù)分包指導(dǎo)價(車站.盾構(gòu).鋪軌)4
- 民間借貸利息計(jì)算表
- 2025屆江蘇省十三大市高三沖刺模擬歷史試卷含解析
- 小學(xué)數(shù)學(xué)二年級《數(shù)圖形》練習(xí)題
- 初中語文八年級下冊 4《燈籠》公開課一等獎創(chuàng)新教案
- RBA商業(yè)道德程序文件(系列)
- 某山體滑坡綜合治理工程監(jiān)理規(guī)劃
評論
0/150
提交評論