版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章Python語(yǔ)言概述目錄1.1程序設(shè)計(jì)語(yǔ)言1.2Python語(yǔ)言簡(jiǎn)介1.3搭建開(kāi)發(fā)環(huán)境1.4Python規(guī)范計(jì)算機(jī)目前已應(yīng)用在人類日常生活的各個(gè)場(chǎng)景,計(jì)算機(jī)通過(guò)程序控制,程序通過(guò)編程語(yǔ)言編寫(xiě),對(duì)于初次接觸編程的同學(xué)而言,Python無(wú)疑是最為簡(jiǎn)潔、易上手的編程語(yǔ)言。1.1程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言是由二進(jìn)制代碼組成,每個(gè)指令都對(duì)應(yīng)著計(jì)算機(jī)硬件上的具體操作。在機(jī)器語(yǔ)言中,程序員需要以計(jì)算機(jī)能夠理解的形式直接指示計(jì)算機(jī)執(zhí)行特定任務(wù)。這包括控制數(shù)據(jù)傳輸、算術(shù)運(yùn)算和邏輯操作等基本操作。1.1.1機(jī)器語(yǔ)言匯編語(yǔ)言是一種低級(jí)編程語(yǔ)言,與機(jī)器語(yǔ)言相對(duì)應(yīng),它使用助記符來(lái)代替二進(jìn)制代碼,使程序員能夠更容易地理解和編寫(xiě)程序。每個(gè)助記符都對(duì)應(yīng)于機(jī)器語(yǔ)言中的一個(gè)指令。1.1.2匯編語(yǔ)言Guido于1989年定下目標(biāo)之后便投身于Python語(yǔ)言的設(shè)計(jì)之中,但Python的第一個(gè)公開(kāi)版本直到1991年才行,此版本使用C語(yǔ)言實(shí)現(xiàn),能調(diào)用C語(yǔ)言的庫(kù)文件。1.1.3高級(jí)語(yǔ)言常見(jiàn)的高級(jí)編程語(yǔ)言包括Python、Java、C++、JavaScript、C#等。這些語(yǔ)言提供了豐富的庫(kù)和工具,簡(jiǎn)化了常見(jiàn)任務(wù)的實(shí)現(xiàn),使得程序員能夠更專注于問(wèn)題的解決而不必過(guò)多關(guān)注底層細(xì)節(jié)。高級(jí)語(yǔ)言的使用在提高編程效率、降低錯(cuò)誤和加速開(kāi)發(fā)周期等方面都具有顯著的優(yōu)勢(shì)。Python是一種高級(jí)、簡(jiǎn)潔易讀的編程語(yǔ)言,由GuidovanRossum于1991年創(chuàng)建。Python是一種解釋型語(yǔ)言,無(wú)需顯式編譯,具有跨平臺(tái)性,可在多個(gè)操作系統(tǒng)上運(yùn)行。其簡(jiǎn)單易學(xué)的特性和廣泛的用途使得Python在全球范圍內(nèi)得到了廣泛的認(rèn)可和應(yīng)用。1.2
Python語(yǔ)言簡(jiǎn)介黑格爾說(shuō),存在即合理。一件事物能存在必有其合理性,而若該事物同時(shí)被大多數(shù)人接收與欣賞,那它必定具備許多獨(dú)到之處與優(yōu)點(diǎn)。Python作為一種比較優(yōu)秀的編程語(yǔ)言,其優(yōu)點(diǎn)主要有以下幾點(diǎn):1.2.1Python語(yǔ)言特點(diǎn)簡(jiǎn)潔易讀:Python的語(yǔ)法設(shè)計(jì)簡(jiǎn)潔而直觀,代碼易于理解和閱讀。功能豐富:Python提供了許多內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫(kù),涵蓋了各種常見(jiàn)的編程任務(wù)??缙脚_(tái)性:Python是一種跨平臺(tái)的語(yǔ)言,可以在多個(gè)操作系統(tǒng)上運(yùn)行,包括Windows、Linux、macOS等。大量的庫(kù)和框架:Python生態(tài)系統(tǒng)擁有豐富而活躍的第三方庫(kù)和框架,為開(kāi)發(fā)人員提供了廣泛的工具和資源。多領(lǐng)域應(yīng)用:Python在各個(gè)領(lǐng)域都有廣泛的應(yīng)用。強(qiáng)大的社區(qū)支持:Python擁有龐大而活躍的開(kāi)發(fā)者社區(qū),提供了豐富的文檔、教程和資源。Python因自身的諸多優(yōu)點(diǎn)得到廣泛應(yīng)用,但Python的缺點(diǎn)也不可忽視。Python主要具有以下缺點(diǎn):1.2.1Python語(yǔ)言特點(diǎn)執(zhí)行速度較慢:相比于一些編譯型語(yǔ)言(如C/C++),Python的執(zhí)行速度較慢。占用內(nèi)存較大:Python的動(dòng)態(tài)類型和自動(dòng)內(nèi)存管理機(jī)制會(huì)帶來(lái)一定的內(nèi)存開(kāi)銷。全局解釋器鎖:Python的全局解釋器鎖(GIL)是Python解釋器的一個(gè)特性,它在同一時(shí)間只允許一個(gè)線程執(zhí)行Python字節(jié)碼。相對(duì)較小的標(biāo)準(zhǔn)庫(kù):雖然Python提供了很多實(shí)用的內(nèi)置庫(kù),但相對(duì)于一些其他語(yǔ)言來(lái)說(shuō),Python的標(biāo)準(zhǔn)庫(kù)相對(duì)較小。設(shè)計(jì)限制:某些開(kāi)發(fā)人員認(rèn)為Python的設(shè)計(jì)有一些限制,不夠靈活。Python是一種多功能的編程語(yǔ)言,如今已被廣泛應(yīng)用于各個(gè)領(lǐng)域。1.2.2Python語(yǔ)言應(yīng)用游戲開(kāi)發(fā)自動(dòng)化和腳本編程數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)網(wǎng)絡(luò)開(kāi)發(fā)科學(xué)計(jì)算和數(shù)據(jù)可視化03020104AI和自然語(yǔ)言處理05061.2.3Python版本Python2.x系列
Python2.x系列包括Python2.0、Python2.1、Python2.2等。Python2.7是Python2.x系列的最后一個(gè)主要版本,發(fā)布于2010年。Python2.x系列在Python3.x發(fā)布后逐漸被淘汰,不再得到官方的維護(hù)和更新。Python3.x系列
Python3.x系列包括Python3.0、Python3.1、Python3.2等。Python3.x系列是當(dāng)前主要的Python版本,目前最新的穩(wěn)定版本是Python3.12。Python3.x系列在語(yǔ)法和特性上有一些與Python2.x系列的不兼容之處,但它帶來(lái)了很多改進(jìn)和新功能,并且得到了廣泛應(yīng)用和推廣。1.3搭建開(kāi)發(fā)環(huán)境在運(yùn)行Python文件之前,需要搭建好開(kāi)發(fā)環(huán)境。1.3.1安裝Python解釋器(1)下載Python安裝包
訪問(wèn)Python官方網(wǎng)站的下載頁(yè)面,根據(jù)Windows操作系統(tǒng)(32位或64位)選擇合適的Python安裝包。(2)運(yùn)行安裝程序
雙擊下載好的安裝包,啟動(dòng)Python安裝程序。(3)安裝過(guò)程
點(diǎn)單擊安裝按鈕后,Python安裝程序?qū)㈤_(kāi)始安裝過(guò)程。安裝過(guò)程中,安裝程序會(huì)顯示安裝進(jìn)度。請(qǐng)耐心等待,直到安裝完成。(4)安裝完成
當(dāng)看到“Setupwassuccessful”(安裝成功)的提示后,單擊“Close”(關(guān)閉)按鈕,完成Python安裝。(5)驗(yàn)證安裝為了驗(yàn)證Python是否安裝成功并正確配置,可以打開(kāi)命令提示符并輸入命令:python--version1.3.2利用IDLE編寫(xiě)代碼(1)打開(kāi)IDLE
在計(jì)算機(jī)中找到已安裝的Python解釋器,然后啟動(dòng)IDLE。(2)創(chuàng)建新文件
在IDLE界面中,單擊菜單欄的“File”選項(xiàng),然后選擇”NewFile”。這將打開(kāi)一個(gè)新的編輯窗口,用于編寫(xiě)代碼。(3)編寫(xiě)代碼
在IDLE的編輯窗口中,輸入要編寫(xiě)的Python代碼。(4)調(diào)試代碼
如果編寫(xiě)的程序出現(xiàn)錯(cuò)誤或需要進(jìn)行調(diào)試,可以使用IDLE的調(diào)試功能。通過(guò)在代碼中設(shè)置斷點(diǎn),可以逐步執(zhí)行程序并跟蹤變量的值。(5)保存文件
在IDLE的編輯窗口中,單擊菜單欄的“File”選項(xiàng),選擇“Save”來(lái)保存Python代碼文件。可以選擇一個(gè)合適的文件名和文件類型(通常為“.py”),然后選擇保存的目錄。1.3.3
安裝PyCharm(1)下載PyCharm
首先,需要訪問(wèn)JetBrains官方網(wǎng)站并下載PyCharm。網(wǎng)址為:https://www.jetbrains.com/pycharm/download/。(2)選擇版本
在下載頁(yè)面上,會(huì)看到兩個(gè)版本:CommunityEdition和ProfessionalEdition。根據(jù)需求選擇一個(gè)版本進(jìn)行下載。(3)選擇操作系統(tǒng)
選擇適用操作系統(tǒng)的版本,如Windows、macOS或Linux。(4)下載安裝程序
單擊相應(yīng)版本和操作系統(tǒng)后,下載安裝程序。下載完成后,運(yùn)行安裝程序。1.3.3
安裝PyCharm(5)安裝向?qū)?/p>
如圖1-3所示,打開(kāi)安裝程序后,按照安裝向?qū)У牟襟E進(jìn)行操作。通常情況下,只需要單擊“下一步”或“繼續(xù)”來(lái)完成安裝過(guò)程。圖1-3安裝向?qū)?.3.3
安裝PyCharm(6)選擇安裝位置
在安裝過(guò)程中,會(huì)要求選擇PyCharm的安裝位置??梢赃x擇默認(rèn)位置,也可以自定義安裝路徑,如圖1-4所示。圖1-4選擇安裝位置1.3.3
安裝PyCharm(7)如圖1-5所示,勾選選項(xiàng),并單擊下一步。
圖1-5設(shè)置安裝選項(xiàng)1.3.3
安裝PyCharm(8)如圖1-6所示,單擊Install,開(kāi)始安裝。圖1-6開(kāi)始安裝1.3.3
安裝PyCharm(9)選擇啟動(dòng)器選項(xiàng)
安裝完成后,通常會(huì)有一個(gè)選項(xiàng)讓創(chuàng)建桌面快捷方式或啟動(dòng)器圖標(biāo)。根據(jù)需要進(jìn)行選擇。(10)啟動(dòng)PyCharm
安裝完成后,可以在開(kāi)始菜單(Windows)或應(yīng)用程序文件夾(macOS)中找到PyCharm,并啟動(dòng)它,如圖1-7所示。圖1-7PyCharm界面1.3.4安裝Anaconda(1)訪問(wèn)Anaconda官方網(wǎng)站:/products/distribution.,官網(wǎng)網(wǎng)頁(yè)如圖1-8所示。圖1-8Anaconda官網(wǎng)1.3.4安裝Anaconda(2)選擇適用于您操作系統(tǒng)的Anaconda發(fā)行版(通常是Python3.x版本),單擊下載按鈕。(3)打開(kāi)下載的安裝程序(可能是一個(gè).exe文件,對(duì)于Windows,或.pkg文件,對(duì)于macOS)。(4)根據(jù)圖1-9,選擇“JustMe”(僅為我安裝)選項(xiàng),然后單擊“Next”(下一步)。圖1-9Anconda安裝選項(xiàng)1.3.4安裝Anaconda(5)根據(jù)圖1-10所示,選擇安裝目標(biāo)文件夾和選項(xiàng)(通常使用默認(rèn)設(shè)置即可),然后單擊“Next”(下一步)。圖1-10選擇安裝位置1.3.4安裝Anaconda(6)根據(jù)圖1-11,選擇“RegisterAnacondaasmydefaultPython3.x”(將Anaconda注冊(cè)為默認(rèn)Python3.x),然后單擊“Install”(安裝)。圖1-11開(kāi)始安裝1.4
Python規(guī)范Python有一套官方的編碼規(guī)范,提供了一些用于編寫(xiě)清晰、可讀和一致性高的Python代碼的準(zhǔn)則。本節(jié)來(lái)介紹一下Python語(yǔ)言的相關(guān)規(guī)范。1.4.1
注釋規(guī)范(1)單行注釋
使用“#”符號(hào)來(lái)創(chuàng)建單行注釋。注釋可以放在代碼行的末尾,也可以單獨(dú)占據(jù)一行。(2)多行注釋
對(duì)于較長(zhǎng)的注釋或注釋塊,可以采用使用三個(gè)引號(hào)(‘‘‘或”””)創(chuàng)建的多行注釋。多行注釋通常用于函數(shù)、類或模塊的文檔字符串。(3)文檔字符串
文檔字符串是放置在函數(shù)、類或模塊的開(kāi)頭,用于描述其用途、輸入?yún)?shù)、返回值等詳細(xì)信息的字符串。(4)注釋的有效性
注釋?xiě)?yīng)該是清晰、易讀的,使用簡(jiǎn)潔、明確的語(yǔ)言。注釋?xiě)?yīng)該描述代碼的意圖和邏輯,而不是簡(jiǎn)單地重復(fù)代碼本身。1.4.2
代碼縮進(jìn)
Python的官方建議是使用四個(gè)空格進(jìn)行縮進(jìn)。通常每個(gè)縮進(jìn)級(jí)別都使用四個(gè)空格,而不是使用制表符(Tab)字符。
示例如下:本章小結(jié)
Python是一門功能強(qiáng)大、易于學(xué)習(xí)和使用的編程語(yǔ)言,適合初學(xué)者和專業(yè)開(kāi)發(fā)者。本章通過(guò)計(jì)算機(jī)語(yǔ)言的介紹引出Python語(yǔ)言,介紹了Python語(yǔ)言的發(fā)展、Python語(yǔ)言的特點(diǎn)和應(yīng)用,以及Python的不同版本如何使用;接著介紹了Python開(kāi)發(fā)環(huán)境的步驟,最后介紹了Python的相關(guān)規(guī)范。Python在不同領(lǐng)域有著廣泛的應(yīng)用,接下來(lái)的章節(jié)將深入介紹Python。第2章基礎(chǔ)語(yǔ)法目錄2.1關(guān)鍵字和標(biāo)識(shí)符2.2基本數(shù)據(jù)類型2.3基本輸入輸出2.4運(yùn)算符和表達(dá)式在深入研究Python基礎(chǔ)語(yǔ)法的旅程中,首先聚焦“關(guān)鍵字和標(biāo)識(shí)符”相關(guān)知識(shí)。2.1關(guān)鍵字和標(biāo)識(shí)符2.1.1
關(guān)鍵字TrueFalseNoneifelseelifforinnotbreakcontinueimportfromdefpasslambdaglobalnonlocalwithasexceptfinallyassertraiseyeildorisdelclassawait表2-1關(guān)鍵字列表2.1.2
標(biāo)識(shí)符Python標(biāo)識(shí)符的命名要遵守以下的命名規(guī)則:(1)內(nèi)容限定(2)大小寫(xiě)敏感(3)不可使用關(guān)鍵字正確的標(biāo)識(shí)符:aa_ba1b2錯(cuò)誤的標(biāo)識(shí)符:11_a1abc2.1.3
常量與變量(1)常量常量是指在程序運(yùn)行過(guò)程中不會(huì)改變的量。一般分為字面常量和符號(hào)常量。字面常量:如-1、3.14、‘zhangsan’、0等。符號(hào)常量:一般使用大寫(xiě)字母或下劃線表示的常量。(2)變量變量是程序中值可以發(fā)生改變的元素,在程序中用變量名標(biāo)識(shí)。變量可以看成一個(gè)容器,專門用來(lái)放程序中的數(shù)據(jù)。在高級(jí)程序設(shè)計(jì)語(yǔ)言中,為了計(jì)算和處理的方便,根據(jù)描述信息邏輯含義的不同,通常將數(shù)據(jù)分為不同的類別,簡(jiǎn)稱為數(shù)據(jù)類型。數(shù)據(jù)類型定義為一個(gè)值的集合以及定義在這個(gè)值集上的一組運(yùn)算操作。Python語(yǔ)言的基本數(shù)據(jù)類型包括:數(shù)值類型、空類型、布爾類型和字符串類型。2.2
基本數(shù)據(jù)類型表示數(shù)字或者數(shù)值的數(shù)據(jù)類型稱為數(shù)值類型,也稱為數(shù)字類型。Python提供了3種數(shù)值類型:整型(int)、浮點(diǎn)型(float)和復(fù)數(shù)(complex)。2.2.1數(shù)值類型(1)整數(shù)類型:整數(shù)類型是一種用于表示整數(shù)值的數(shù)據(jù)類型,即正數(shù)、負(fù)數(shù)或零。(2)浮點(diǎn)數(shù)類型:浮點(diǎn)數(shù)是一種用于表示實(shí)數(shù)(包括小數(shù))的數(shù)據(jù)類型。(3)復(fù)數(shù)類型:Python語(yǔ)言中的復(fù)數(shù)類型與數(shù)學(xué)中復(fù)數(shù)的概念是一致的,用于表示具有實(shí)部和虛部的數(shù)值。(1)整數(shù)類型2.2.2空值、布爾類型(1)空值
在Python中,關(guān)鍵字None表示一個(gè)空值,通常用于表示一個(gè)變量還沒(méi)有被賦值。None是一個(gè)特殊的常量,表示什么都沒(méi)有。(2)布爾類型
布爾類型(bool)表示現(xiàn)實(shí)生活中的邏輯,它只有兩個(gè)值:True和False,True表示真,本質(zhì)上是一個(gè)數(shù)字(計(jì)做1);False表示假(計(jì)做0)。2.2.3字符串類型1.字符編碼
字符編碼是將字符映射到數(shù)字的過(guò)程,以便計(jì)算機(jī)能夠理解、存儲(chǔ)和處理文本數(shù)據(jù)。最常見(jiàn)的字符編碼之一是ASCII。十進(jìn)制二進(jìn)制字符描述十進(jìn)制二進(jìn)制字符描述00000000NUL空字符4901100011數(shù)字110000001SOH報(bào)頭開(kāi)始............20000010STX文本開(kāi)始651000001A大寫(xiě)字母A............661000010B大寫(xiě)字母B320100000空格空格............330100001!感嘆號(hào)971100001a小寫(xiě)字母a340100010“雙引號(hào)981100010b小寫(xiě)字母b..............................4801100000數(shù)字012701111111DEL刪除2.2.3字符串類型2.字符串類型的表示(1)空字符串空字符串用合法定界符直接表示即可,如一對(duì)單引號(hào)、一對(duì)雙引號(hào)、三對(duì)單引號(hào)以及三對(duì)雙引號(hào)都可以表示空字符串。(2)三對(duì)引號(hào)利用三對(duì)引號(hào)定義的字符串,如果使用變量去接受它,它就是一個(gè)字符串,如果不使用變量去接受它,就作為多行注釋使用。(3)字符串引號(hào)的嵌套如果想要定義的字符串本身包含單引號(hào)或雙引號(hào),即字符串存在嵌套,那又該如何定義呢?在Python中,字符串引號(hào)的嵌套通常是通過(guò)交替使用單引號(hào)和雙引號(hào)來(lái)實(shí)現(xiàn)的。(4)轉(zhuǎn)義字符轉(zhuǎn)義字符是以反斜杠“\”開(kāi)頭的特殊字符序列,用于表示一些特殊字符或在字符串中插入無(wú)法直接輸入的字符。2.3基本輸入輸出input函數(shù)eval函數(shù)12print函數(shù)32.3.1input()函數(shù)2.4運(yùn)算符和表達(dá)式1)算術(shù)運(yùn)算符(+、-、*、/、**、//、%)2)關(guān)系運(yùn)算符(>、>=、<、<=、==、!=)3)邏輯運(yùn)算符(and、or、not)4)賦值運(yùn)算符(簡(jiǎn)單賦值=、復(fù)合賦值運(yùn)算符)5)位運(yùn)算符(<<、>>、~、|、&、^)6)成員運(yùn)算符(in、notin)7)同一性運(yùn)算符(is、isnot)8)下標(biāo)運(yùn)算符([])9)其他[如函數(shù)調(diào)用運(yùn)算符]2.4.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式
在Python中,算術(shù)運(yùn)算符用于執(zhí)行基本的數(shù)學(xué)運(yùn)算,包括加法(+)、減法(-)、乘法(*)、除法(/)、整除(//)、冪運(yùn)算(**)、取模(%)等四則運(yùn)算。其中*、/、**、//、%的優(yōu)先級(jí)高于+和-運(yùn)算符;**運(yùn)算符表示乘方(冪)運(yùn)算,其優(yōu)先級(jí)高于*、/、//、%。以a=-7,b=2對(duì)算術(shù)運(yùn)算符使用進(jìn)行說(shuō)明,對(duì)應(yīng)的信息見(jiàn)表2-4。運(yùn)算符功能說(shuō)明示例運(yùn)行結(jié)果+取正,單目運(yùn)算符>>>+a7-取負(fù),單目運(yùn)算符>>>-b-2+加:使兩個(gè)操作數(shù)相加,獲取兩個(gè)操作數(shù)的和>>>a+b-5-減:使兩個(gè)操作數(shù)相減,獲取兩個(gè)操作數(shù)的差>>>a-b-9*乘:使兩個(gè)操作數(shù)相乘,獲取兩個(gè)操作數(shù)的積>>>a*b-14/除:使兩個(gè)操作數(shù)相除,獲取兩個(gè)操作數(shù)的商(除數(shù)不能為0)>>>a/b-3.5//整除:使兩個(gè)操作數(shù)相除,獲取商的整數(shù)部分>>>a//b-4%取余:使兩個(gè)操作數(shù)相除,獲取余數(shù)>>>a%b1**指數(shù):使兩個(gè)操作數(shù)進(jìn)行冪運(yùn)算>>>a**b49表2-4算術(shù)運(yùn)算符及示例2.4.2賦值運(yùn)算符和賦值表達(dá)式
在Python中,賦值運(yùn)算符用于將右側(cè)的值賦給左側(cè)的變量,最基本的賦值運(yùn)算符是等號(hào)“=”。其語(yǔ)法格式為:
變量=表達(dá)式(1)鏈?zhǔn)劫x值將同一個(gè)值賦給多個(gè)變量的賦值方式稱為鏈?zhǔn)劫x值,語(yǔ)法格式為:變量名1=變量名2=……=變量名n=常量或表達(dá)式(2)同步賦值同時(shí)給多個(gè)變量賦不同的值,稱為多變量同步賦值。語(yǔ)法格式為:變量1,變量2,...,變量n=表達(dá)式1,表達(dá)式2,...,表達(dá)式n2.4.2賦值運(yùn)算符和賦值表達(dá)式
(3)復(fù)合賦值運(yùn)算符
在Python中,賦值運(yùn)算符‘=’可以與7種算術(shù)運(yùn)算符(+、-、*、/、//、%、**)結(jié)合構(gòu)成7種算術(shù)復(fù)合賦值運(yùn)算符,具體見(jiàn)表2-5。運(yùn)算符描述示例(a=3,b=7)運(yùn)行結(jié)果+=加法賦值運(yùn)算符b+=a等效于b=b+a10-=減法賦值運(yùn)算符b-=a等效于b=b-a4*=乘法賦值運(yùn)算符b*=a等效于b=b*a21/=除法賦值運(yùn)算符b/=a等效于b=b/a2.33%=取余賦值運(yùn)算符b%=a等效于b=b%a1**=指數(shù)賦值運(yùn)算符b**=a等效于b=b**a343//=整除賦值運(yùn)算符b//=a等效于b=b//a2表2-5算術(shù)賦值運(yùn)算符2.4.3關(guān)系運(yùn)算符和關(guān)系表達(dá)式
在Python中,關(guān)系運(yùn)算符用來(lái)判斷兩個(gè)操作數(shù)的大小,如果關(guān)系成立,結(jié)果為True,否則為False。關(guān)系運(yùn)算符見(jiàn)表2-6。表2-6關(guān)系運(yùn)算符關(guān)系運(yùn)算符描述示例運(yùn)行結(jié)果>大于>>>5>4True>=大于等于>>>5>=4True<小于>>>5<4False<=小于等于>>>5<=4False==等于>>>5=4False!=不等于>>>5!=4True2.4.4邏輯運(yùn)算符和邏輯表達(dá)式
在Python中,邏輯運(yùn)算符用于對(duì)操作數(shù)在邏輯上的真假進(jìn)行操作,包括邏輯與and,邏輯或or,以及邏輯非not;and和or屬于雙目運(yùn)算符,其結(jié)合性為自左向右,not屬于單目運(yùn)算符,其結(jié)合性為右結(jié)合。邏輯非not的優(yōu)先級(jí)高于邏輯與and,邏輯與and的優(yōu)先級(jí)高于邏輯或or。
邏輯假是由布爾值False表示的,除了直接使用False外,如空值None類型、數(shù)值類型的零(0、0.0、0j)、空的字符串、空的列表、空的元組、空的集合、空的字典都被視為邏輯假False。邏輯運(yùn)算符見(jiàn)表2-7。表2-7邏輯運(yùn)算符邏輯運(yùn)算符描述示例(a=3,b=0)運(yùn)行結(jié)果and與運(yùn)算:a和b均為真時(shí)表達(dá)式為真,否則為假。>>>aandbFalseor或運(yùn)算:a和b均為假時(shí)表達(dá)式為假,否則為真。>>>aorbTruenot非運(yùn)算:a為真時(shí)表達(dá)式為假,否則為真。>>>notaFalse2.4.5
成員運(yùn)算符和成員表達(dá)式
在Python中,成員運(yùn)算符用于測(cè)試一個(gè)值是否是序列(如字符串、列表或元組)的成員,運(yùn)算結(jié)果為邏輯值。結(jié)合性為左結(jié)合,其中in表示存在,notin表示不存在。成員表達(dá)式是使用成員運(yùn)算符進(jìn)行成員測(cè)試的表達(dá)式形式,可用于條件語(yǔ)句、循環(huán)的等場(chǎng)景。
2.4.6
同一性運(yùn)算符和同一性表達(dá)式
在Python中,同一性運(yùn)算符用于測(cè)試兩個(gè)對(duì)象是否指向相同的內(nèi)存位置,即它們是否是同一個(gè)對(duì)象。同一性運(yùn)算符有兩種形式:“is”和“isnot”。同一性表達(dá)式是使用這些運(yùn)算符進(jìn)行同一性測(cè)試的表達(dá)式形式。(1)“is”同一性運(yùn)算符“is”運(yùn)算符用于測(cè)試兩個(gè)對(duì)象是否是同一個(gè)對(duì)象,即它們是否具有相同的內(nèi)存地址。(2)“isnot”同一性運(yùn)算符“isnot”運(yùn)算符用于測(cè)試兩個(gè)對(duì)象是否不是同一個(gè)對(duì)象,即它們具有不同的內(nèi)存地址。2.4.7
位運(yùn)算符
在Python中,位運(yùn)算符用于對(duì)整數(shù)的二進(jìn)制表示進(jìn)行位級(jí)操作。這些運(yùn)算符允許對(duì)整數(shù)的每個(gè)位進(jìn)行操作,包括按位與(&)、按位或(|)、按位異或(^)、按位取反(~)、按位左移(<<)、按位右移(>>),見(jiàn)表2-8。表2-8位運(yùn)算符符號(hào)描述示例(a=2,b=3)運(yùn)行結(jié)果&與:對(duì)應(yīng)位都為1時(shí),結(jié)果為1。>>>a&b2|或:對(duì)應(yīng)位都為0時(shí),結(jié)果為0。>>>a|b3^異或:對(duì)應(yīng)兩個(gè)位相同為0,不同為1>>>a^b1~取反:按位取反,1變?yōu)?,0變?yōu)?。>>>~a-3<<左移:各二進(jìn)位全部左移若干位,高位丟棄,低位補(bǔ)0。>>>a<<28>>右移:各二進(jìn)位全部右移若干位,對(duì)無(wú)符號(hào)數(shù),高位補(bǔ)0。>>>a>>202.4.8
運(yùn)算符的優(yōu)先級(jí)
在Python中,運(yùn)算符具有不同的優(yōu)先級(jí),這決定了它們?cè)诒磉_(dá)式中的計(jì)算順序,運(yùn)算符優(yōu)先級(jí)從高到低的順序見(jiàn)表2-9。表2-9運(yùn)算符優(yōu)先級(jí)從高到低順序符號(hào)描述**冪運(yùn)算符+-取正取負(fù)~按位取反*/%//乘法、除法、取余、整除+-加、減>><<右移、左移運(yùn)算符&按位與^|按位異或、或<<=>>==比較運(yùn)算符==!=等于運(yùn)算符isisnot身份運(yùn)算符ininnot成員運(yùn)算符notandor邏輯運(yùn)算符=、+=、-=、*=、/=、%=、//=、**=、&=、|=、<<=、>>=賦值運(yùn)算符本章小結(jié)
本章深入學(xué)習(xí)了Python編程語(yǔ)言的基礎(chǔ)語(yǔ)法要素。了解關(guān)鍵字和標(biāo)識(shí)符的概念,常量和變量的概念,研究了基本數(shù)據(jù)類型,包括數(shù)值類型(整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù))、空值和布爾類型,以及字符串類型的操作。在基本輸入輸出方面,學(xué)習(xí)了input函數(shù)用于獲取用戶輸入,eval函數(shù)用于求值字符串表達(dá)式,以及print函數(shù)用于輸出數(shù)據(jù)到控制臺(tái)。詳細(xì)討論了運(yùn)算符和表達(dá)式,包括算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算、成員運(yùn)算、同一性運(yùn)算、位運(yùn)算等,以及這些運(yùn)算符的優(yōu)先級(jí)。這些基礎(chǔ)知識(shí)奠定了Python編程中的基礎(chǔ),為后續(xù)深入學(xué)習(xí)和實(shí)際應(yīng)用打下了堅(jiān)實(shí)的基礎(chǔ)。第3章
程序控制結(jié)構(gòu)目錄3.1程序控制的基本結(jié)構(gòu)3.2程序的順序結(jié)構(gòu)3.3程序的分支結(jié)構(gòu)3.4程序的循環(huán)結(jié)構(gòu)程序執(zhí)行的控制流程,無(wú)論多么復(fù)雜,都可以通過(guò)三種結(jié)構(gòu)的合理組合來(lái)實(shí)現(xiàn)。三種基本結(jié)構(gòu)的共同特點(diǎn):1)只有一個(gè)入口。2)只有一個(gè)出口。3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到。4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無(wú)終止的循環(huán))。3.1程序控制的基本結(jié)構(gòu)3.2程序的順序結(jié)構(gòu)
順序結(jié)構(gòu)是編程中最簡(jiǎn)單、最基本的控制結(jié)構(gòu)之一,如圖3-1所示,在順序結(jié)構(gòu)中,代碼按照書(shū)寫(xiě)的順序一行一行地執(zhí)行,沒(méi)有分支或循環(huán)。程序從上到下依次執(zhí)行每一條語(yǔ)句,形成線性的執(zhí)行流程。圖3-1順序結(jié)構(gòu)示意圖3.3程序的分支結(jié)構(gòu)程序的分支結(jié)構(gòu)是當(dāng)程序執(zhí)行到條件判斷語(yǔ)句時(shí),首先判斷條件,根據(jù)條件表達(dá)式的值選擇相應(yīng)的分支執(zhí)行。當(dāng)條件表達(dá)式為True時(shí),執(zhí)行真分支,條件表達(dá)式為Flase時(shí),執(zhí)行對(duì)應(yīng)假分支。在Python中分支結(jié)構(gòu)包括單分支、雙分支、多分支以及嵌套分支四種形式。3.3.1單分支結(jié)構(gòu):if語(yǔ)句單分支結(jié)構(gòu)是指包含一個(gè)條件判斷的分支結(jié)構(gòu),通常使用if語(yǔ)句。程序執(zhí)行到if語(yǔ)句時(shí)先進(jìn)行條件判斷,若結(jié)果為True,則執(zhí)行相應(yīng)的語(yǔ)句塊,否則什么都不執(zhí)行,繼續(xù)執(zhí)行if語(yǔ)句塊之后內(nèi)容。Python中if語(yǔ)句的語(yǔ)法格式:
if條件表達(dá)式:
語(yǔ)句塊單分支流程圖如圖3-2所示。圖3-2單分支結(jié)構(gòu)流程圖Python中if-else語(yǔ)句用來(lái)形成雙分支結(jié)構(gòu),語(yǔ)法格式如下:if條件表達(dá)式:
語(yǔ)句塊1else:
語(yǔ)句塊23.3.2雙分支結(jié)構(gòu):if-else語(yǔ)句雙分支結(jié)構(gòu)(if-else)的執(zhí)行過(guò)程:首先判斷條件表達(dá)式的值,當(dāng)條件表達(dá)式為真(True)時(shí),執(zhí)行if后面的語(yǔ)句塊1,否則執(zhí)行else后面的語(yǔ)句塊2。雙分支語(yǔ)句用于區(qū)分<條件表達(dá)式>的兩種可能:True或者False,分別形成不同的執(zhí)行路徑。對(duì)應(yīng)的結(jié)構(gòu)流程圖如圖3-3所示。圖3-3雙分支結(jié)構(gòu)流程圖3.3.3多分支結(jié)構(gòu)if-elif-else語(yǔ)句Python的多分支結(jié)構(gòu)if-elif-else,語(yǔ)法格式如下:if條件表達(dá)式1:語(yǔ)句塊1elif條件表達(dá)式2:語(yǔ)句塊2......else:語(yǔ)句塊n程序運(yùn)行至if-elif-else語(yǔ)句時(shí),先進(jìn)入if語(yǔ)句進(jìn)行判斷,條件為True,執(zhí)行語(yǔ)句塊1;否則進(jìn)入elif進(jìn)行判斷,為True,執(zhí)行語(yǔ)句塊2,否則進(jìn)入下一個(gè)elif判斷,按此順序依次進(jìn)行。當(dāng)所有條件不滿足時(shí),執(zhí)行最后一個(gè)else語(yǔ)句塊n。多分支結(jié)構(gòu)流程圖如圖3-4所示。圖3-4多分支結(jié)構(gòu)流程圖3.3.4嵌套選擇結(jié)構(gòu)
嵌套選擇結(jié)構(gòu)是指選擇結(jié)構(gòu)(if語(yǔ)句、if-else語(yǔ)句或if-elif-else語(yǔ)句)中的語(yǔ)句塊又包含一個(gè)或多個(gè)選擇結(jié)構(gòu)(if語(yǔ)句、if-else語(yǔ)句或if-elif-else語(yǔ)句)。
語(yǔ)法結(jié)構(gòu)如下:
if條件表達(dá)式1:
if條件表達(dá)式2:
語(yǔ)句塊1
else:
語(yǔ)句塊2
else:
語(yǔ)句塊33.4程序的循環(huán)結(jié)構(gòu)程序的循環(huán)結(jié)構(gòu)是指在滿足一定的條件時(shí),重復(fù)執(zhí)行某段代碼的一種編碼結(jié)構(gòu)。在Python中常見(jiàn)的循環(huán)結(jié)構(gòu)是while循環(huán)和for循環(huán)。3.4.1while循環(huán)語(yǔ)句while循環(huán)語(yǔ)句的執(zhí)行過(guò)程:程序執(zhí)行到while循環(huán)時(shí),進(jìn)行第一次循環(huán)條件判斷,判斷結(jié)果若為Ture,則執(zhí)行循環(huán)體語(yǔ)句并進(jìn)行下一次條件判斷。依照此順序循環(huán)多次執(zhí)行,直至條件判斷結(jié)果為False時(shí),循環(huán)終止,執(zhí)行while循環(huán)之后語(yǔ)句。while循環(huán)當(dāng)條件不滿足時(shí)結(jié)束,因此必須要提前確定循環(huán)次數(shù)。while循環(huán)結(jié)構(gòu)流程圖如3-5所示。語(yǔ)法結(jié)構(gòu):
while循環(huán)條件:
循環(huán)體圖3-5while循環(huán)結(jié)構(gòu)流程圖3.4.2for循環(huán)語(yǔ)句for循環(huán)是一種迭代循環(huán),它可以遍歷一個(gè)可迭代對(duì)象(如列表、元組、字符串等)中的每個(gè)元素,并對(duì)其執(zhí)行相同的操作。語(yǔ)法格式:
for循環(huán)變量
in可迭代對(duì)象:
循環(huán)體for循環(huán)需要知道執(zhí)行次數(shù)。其結(jié)構(gòu)流程圖如3-6所示:圖3-6for循環(huán)結(jié)構(gòu)流程圖3.4.3
循環(huán)嵌套結(jié)構(gòu)
當(dāng)兩個(gè)(多個(gè))循環(huán)嵌套時(shí),位于外層的循環(huán)結(jié)構(gòu)經(jīng)常被稱為外層循環(huán)或外循環(huán),位于內(nèi)層的循環(huán)結(jié)構(gòu)被稱為內(nèi)層循環(huán)或內(nèi)循環(huán)。在程序執(zhí)行過(guò)程中,先判斷外循環(huán)條件,當(dāng)外循環(huán)條件為True時(shí),進(jìn)入內(nèi)循環(huán)并判斷內(nèi)循環(huán)條件,當(dāng)內(nèi)循環(huán)條件為True時(shí)依次執(zhí)行語(yǔ)句,進(jìn)行內(nèi)循環(huán)迭代,當(dāng)內(nèi)循環(huán)條件為False時(shí)退出內(nèi)循環(huán),進(jìn)入外循環(huán)迭代,直至外循環(huán)判斷條件為False時(shí)退出循環(huán)。循環(huán)嵌套的結(jié)構(gòu)流程圖如圖3-7所示。圖3-7
嵌套循環(huán)流程圖3.4.4break語(yǔ)句和continue語(yǔ)句
(1)break語(yǔ)句
break語(yǔ)句用于終止當(dāng)前循環(huán),并跳出循環(huán)體。一旦break語(yǔ)句被執(zhí)行,程序?qū)⒘⒓赐顺鲅h(huán),不再執(zhí)行循環(huán)內(nèi)未執(zhí)行的語(yǔ)句,開(kāi)始執(zhí)行循環(huán)后的下一條語(yǔ)句。當(dāng)多個(gè)for語(yǔ)句、while語(yǔ)句彼此嵌套時(shí),當(dāng)break語(yǔ)句被執(zhí)行時(shí),程序?qū)⒘⒓赐顺霎?dāng)前內(nèi)層循環(huán),不再執(zhí)行該內(nèi)層循環(huán)后的代碼,然后繼續(xù)執(zhí)行外層循環(huán)中的代碼。
(2)continue語(yǔ)句
continue語(yǔ)句用于跳過(guò)當(dāng)前循環(huán)中的剩余代碼,直接進(jìn)入下一次循環(huán)迭代。它不會(huì)終止整個(gè)循環(huán),而是跳過(guò)當(dāng)前迭代并繼續(xù)執(zhí)行下一次迭代。3.4.5pass語(yǔ)句
在Python中還有一個(gè)pass語(yǔ)句。pass語(yǔ)句是一個(gè)占位符,在編寫(xiě)代碼時(shí),還沒(méi)有想好要寫(xiě)什么,可以使用pass語(yǔ)句。它不做任何事情,只是一個(gè)占位符,用于在語(yǔ)法上需要語(yǔ)句的地方放置,以使程序結(jié)構(gòu)更清晰。3.4.6while-else語(yǔ)句在Python中,while循環(huán)可以與else語(yǔ)句結(jié)合使用,形成while-else結(jié)構(gòu)。語(yǔ)法結(jié)構(gòu):
while循環(huán)條件:
語(yǔ)句塊1
else:
語(yǔ)句塊2執(zhí)行過(guò)程:循環(huán)條件成立時(shí),執(zhí)行語(yǔ)句塊1,當(dāng)循環(huán)條件不成立時(shí),執(zhí)行語(yǔ)句塊2。3.4.7for-else語(yǔ)句
當(dāng)for循環(huán)正常結(jié)束時(shí),else語(yǔ)句塊中的代碼將被執(zhí)行,以完成必要的清理工作或執(zhí)行后續(xù)操作。for循環(huán)中else代碼塊同樣是可選的代碼塊。語(yǔ)法格式:
for循環(huán)變量in遍歷結(jié)構(gòu):
語(yǔ)句塊1
else:
語(yǔ)句塊2本章小結(jié)
分支結(jié)構(gòu)包括單分支結(jié)構(gòu)(if語(yǔ)句)、雙分支結(jié)構(gòu)(if-else語(yǔ)句)以及多分支結(jié)構(gòu)(if-elif-else語(yǔ)句)。循環(huán)結(jié)構(gòu)包括while循環(huán)和for循環(huán),這些循環(huán)結(jié)構(gòu)使得程序可以重復(fù)執(zhí)行一段代碼,直到滿足特定的條件或遍歷完一個(gè)序列。循環(huán)嵌套結(jié)構(gòu)將一個(gè)循環(huán)嵌套在另一個(gè)循環(huán)中,以處理更復(fù)雜的迭代需求。循環(huán)中常用的控制語(yǔ)句,包括break和continue,用于在循環(huán)中靈活控制程序的流程。最后,介紹了while-else和for-else語(yǔ)句,它們?cè)试S在循環(huán)正常結(jié)束時(shí)執(zhí)行額外的代碼塊。第4章
組合數(shù)據(jù)類型目錄4.1列表4.2元組4.3集合4.4字典列表是一種有序的集合,可以包含任意類型的數(shù)據(jù),如數(shù)字、字符串、布爾值等。列表支持一次性存儲(chǔ)多個(gè)數(shù)據(jù),而且這些數(shù)據(jù)可以是不同類型的。列表中的元素是有順序的,可以通過(guò)索引來(lái)訪問(wèn)。如果有成百上千名學(xué)生需要記錄,使用列表可以更方便地處理這些數(shù)據(jù)。本節(jié)將學(xué)習(xí)有關(guān)列表的相關(guān)知識(shí)。4.1列表4.1.1列表的基礎(chǔ)知識(shí)將所有的學(xué)生成績(jī)放在一個(gè)數(shù)據(jù)集中,圖4-2描述了單個(gè)變量存儲(chǔ)五個(gè)整數(shù)值的概念。圖4-2
五個(gè)學(xué)生成績(jī)的數(shù)據(jù)集但是,如果所有值都存儲(chǔ)在具有單個(gè)名字的數(shù)據(jù)集合中,那么如何引用每個(gè)單獨(dú)的學(xué)生成績(jī)?郵局就是具有這樣數(shù)據(jù)集合的一個(gè)極好的例子。假如將郵局看作是一個(gè)編號(hào)的“郵政信箱”的數(shù)據(jù)集合。這些信箱用數(shù)值作為索引,因此就可以使用像“郵政信箱777”這樣的描述來(lái)引用一個(gè)信箱。列表是一種強(qiáng)大而有序的數(shù)據(jù)類型,其中單個(gè)變量可以存儲(chǔ)許多值,每個(gè)值稱其為列表的元素,每個(gè)列表元素都可以由整數(shù)索引進(jìn)行訪問(wèn)。例如score[0]、score[3]的值分別為98和65。4.1.2
創(chuàng)建列表列表的創(chuàng)建和初始化可通過(guò)[]和list函數(shù)完成。其格式為:
列表變量=[元素1,元素2,...,元素n]列表變量=list(變量名或?qū)ο髷?shù)據(jù))說(shuō)明:格式1中,可以直接通過(guò)在[]中列舉數(shù)據(jù)元素的方式創(chuàng)建并初始化一個(gè)列表變量。格式2中,list函數(shù)可以利用字符串、列表、元組、集合、字典、range對(duì)象、其他類型的迭代對(duì)象數(shù)據(jù)創(chuàng)建并初始化一個(gè)列表變量,其參數(shù)可以是一個(gè)具體數(shù)據(jù),也可以是包含上述數(shù)據(jù)的變量,返回一個(gè)包含這些值的列表。4.1.3
訪問(wèn)列表元素在Python中,要訪問(wèn)列表中的元素,可以使用下標(biāo)索引。列表中的元素是按順序排列的,索引可以用來(lái)指定要訪問(wèn)的元素的位置。那么什么是索引呢?列表的正反向索引如圖4-3所示。圖4-3
列表的正反向索引下標(biāo)正向索引從0開(kāi)始,即第一個(gè)元素的索引為0,第二個(gè)元素的索引為1,最后一個(gè)元素的索引為列表長(zhǎng)度減1。如變量score,其正向索引下標(biāo)為0,終值為4。要訪問(wèn)特定位置的元素,可以使用方括號(hào)
[
]
再加上元素的索引,語(yǔ)法為“列表[下標(biāo)索引]”。負(fù)數(shù)索引表示從列表的末尾開(kāi)始計(jì)數(shù),即最后一個(gè)元素的索引為-1,倒數(shù)第二個(gè)元素的索引為-2,最后一個(gè)元素的索引為負(fù)的列表長(zhǎng)度。例如,要獲取列表中的最后一個(gè)元素,可以使用score[-1],它將返回值為57。列表中的元素可以通過(guò)索引或切片這兩種方式進(jìn)行訪問(wèn),也可以在循環(huán)中依次訪問(wèn)。4.1.3
訪問(wèn)列表元素切片,也稱分片,用于在指明下標(biāo)起始位置、終止位置和步長(zhǎng)的條件下訪問(wèn)列表變量的部分元素。其格式為:
變量名[start:end:step]start:可選項(xiàng),表示待訪問(wèn)部分的起始下標(biāo),省略時(shí)默認(rèn)為0,start所指的元素包含在切片中。end:可選項(xiàng),表示待訪問(wèn)部分的終止下標(biāo),省略時(shí)默認(rèn)為列表長(zhǎng)度,但end所指的元素不包含在切片中。step:可選項(xiàng),表示每次訪問(wèn)元素的間隔,默認(rèn)為1。遵循左閉右開(kāi)原則,切片也支持正反向下標(biāo)訪問(wèn),正向訪問(wèn)時(shí),步長(zhǎng)為正值;反向訪問(wèn)時(shí),步長(zhǎng)為負(fù)值。4.1.3
訪問(wèn)列表元素4.1.4添加列表元素
在Python中,添加列表元素可以通過(guò)使用insert()方法和append()方法來(lái)實(shí)現(xiàn)。(1)insert()方法
insert()方法是一種用于在列表的指定位置插入一個(gè)新元素,語(yǔ)法如下:
list.insert(index,element)
其中,index是插入的位置(索引),element是要插入的元素。(2)append()方法
append()方法用于在列表的末尾添加一個(gè)新元素。這個(gè)方法沒(méi)有返回值,也就是說(shuō)它不會(huì)返回新列表,但它會(huì)改變?cè)剂斜?,語(yǔ)法如下:
list.append(element)
其中,element是要添加到列表末尾的元素。4.1.4添加列表元素(3)extend()方法
在Python中,extend()方法是用來(lái)將一個(gè)列表末尾追加另一個(gè)可迭代對(duì)象(通常是另一個(gè)列表)。它用于擴(kuò)展列表的長(zhǎng)度,而不會(huì)創(chuàng)建新的列表。語(yǔ)法如下:
list.extend(iterable)
其中,iterable是要追加到列表末尾的可迭代對(duì)象。(4)連接運(yùn)算(+,+=)在Python中,可以使用+運(yùn)算符對(duì)兩個(gè)列表進(jìn)行連接。這個(gè)操作會(huì)創(chuàng)建一個(gè)新的列表,其中包含兩個(gè)原始列表的所有元素。+連接列表的語(yǔ)法如下:
new_list=list1+list2
其中,list1和list2是要連接的兩個(gè)列表。4.1.4添加列表元素(5)使用*運(yùn)算符重復(fù)元素
語(yǔ)法如下:
new_list=old_list*n
其中,n是整數(shù),*運(yùn)算不修改原始列表old_list,而創(chuàng)建一個(gè)新的列表new_list。注意:1)append方法、extend方法和+運(yùn)算符都是用于在列表末尾添加元素或連接列表,它們都不需要指定位置或索引。2)+=運(yùn)算符是extend()方法的縮寫(xiě)形式,也用于在列表末尾追加元素。3)*運(yùn)算符用于重復(fù)列表中的元素,創(chuàng)建一個(gè)包含重復(fù)元素的新列表。4)insert()方法是唯一一個(gè)可以在列表的指定位置插入元素的方法,其他方法都是在末尾操作。4.1.5修改列表元素
上一小節(jié)中所有添加列表元素的方法和運(yùn)算符都實(shí)現(xiàn)了以添加元素的方式修改列表元素,除此之外,還可以通過(guò)賦值方式修改列表的元素。(1)通過(guò)索引直接賦值使用索引直接訪問(wèn)列表中的元素,并進(jìn)行賦值操作。(2)使用切片賦值使用切片操作可以對(duì)列表中的一部分元素進(jìn)行批量賦值。4.1.6刪除列表元素在Python中,刪除列表元素是一個(gè)常見(jiàn)的操作,有多種方法可以實(shí)現(xiàn)。(1)del語(yǔ)句功能:用于刪除列表中指定位置的元素或刪除整個(gè)列表。語(yǔ)法結(jié)構(gòu)如下:
dellist[index]:刪除指定位置的元素,list代表列表的名稱,index代表列表的索引。
dellist:刪除整個(gè)列表(2)remove方法功能:用于刪除列表中第一個(gè)匹配給定值的元素。語(yǔ)法結(jié)構(gòu)如下:
list.remove(value)(3)pop方法功能:pop方法有兩種使用方法,不帶參數(shù)的pop方法和帶參數(shù)的pop方法,前者將刪除并返回列表的最后一個(gè)元素,后者用于刪除列表中指定位置的元素,并返回被刪除的元素。語(yǔ)法結(jié)構(gòu)如下:
不帶參數(shù):element=list.pop()
帶參數(shù):element=list.pop([index])其中l(wèi)ist是列表的名稱,index是要?jiǎng)h除元素的索引位置,element是被刪除的元素的值。4.1.6刪除列表元素(4)clear方法功能:用于清空列表,即刪除列表中的所有元素。語(yǔ)法結(jié)構(gòu)如下:
list.clear()注意:del語(yǔ)句可以通過(guò)索引刪除單個(gè)元素或整個(gè)列表,不返回被刪除的元素。remove
方法刪除列表中第一個(gè)匹配給定值的元素,不返回被刪除的元素。pop
方法刪除指定位置的元素,并返回被刪除的元素。clear
方法用于清空整個(gè)列表,不返回被刪除的元素。4.1.7列表的排序在Python中,列表(list)的排序可以通過(guò)兩種主要方式實(shí)現(xiàn):sort方法和
sorted函數(shù)。這兩種方法都可以對(duì)列表進(jìn)行升序(從小到大)或降序(從大到?。┡判颉#?)sort方法sort方法會(huì)直接修改原列表。這是它的一大優(yōu)點(diǎn),不需要?jiǎng)?chuàng)建新的對(duì)象。但是,sort方法在Python3.x版本中默認(rèn)是按升序排序的。如果降序排序,需要添加參數(shù)
reverse=True,即sort(reverse=True)
。(2)sorted函數(shù)sorted函數(shù)會(huì)返回一個(gè)新的已排序列表,原列表不會(huì)被改變。同樣,sorted函數(shù)在Python3.x版本中默認(rèn)是按升序排序的,若想降序排序,添加參數(shù)
reverse=True,即sorted(reverse=True)
。(3)reverse方法在Python中,reverse方法是列表對(duì)象的一個(gè)方法,用于反轉(zhuǎn)列表中的元素順序。它將列表中的元素從后往前重新排列,并返回一個(gè)新列表。語(yǔ)法結(jié)構(gòu)如下:
列表名.reverse()4.1.8列表的統(tǒng)計(jì)對(duì)于列表的統(tǒng)計(jì),Python提供了一些內(nèi)置函數(shù)和方法,可以獲取有關(guān)列表的各種信息。(1)len函數(shù)功能:返回列表中元素的個(gè)數(shù)。
語(yǔ)法:len(list),list代表列表的名字。
(2)sum函數(shù)
功能:返回列表中所有元素的和。
語(yǔ)法:sum(list),list為列表的名字。
(3)max和min函數(shù)
功能:max返回列表中元素的最大值,min函數(shù)返回列表中元素的最小值。
語(yǔ)法:max(list)min(list),list代表列表的名字。
(4)count函數(shù)
功能:用于統(tǒng)計(jì)列表中某個(gè)元素出現(xiàn)的次數(shù)的方法。
語(yǔ)法:count=list.count(element)其中,list是列表的名稱,element是要統(tǒng)計(jì)出現(xiàn)次數(shù)的元素,把統(tǒng)計(jì)的結(jié)果放入變量count中。4.1.9列表的常用內(nèi)置函數(shù)方法說(shuō)明list.append(x)在列表list末尾添加元素xlist.extend(list1)將列表list1的所有元素追加到list的尾部list.insert(index,x)在列表list指定的index位置插入xlist.remove(x)在列表list中刪除首次出現(xiàn)的x元素list.pop([index])刪除并返回列表中l(wèi)ist中index位置元素,默認(rèn)最后一個(gè)元素list.clear()清空列表listlist.sort()對(duì)列表list進(jìn)行排序,直接修改原列表,不產(chǎn)生新列表list.sorted()產(chǎn)生排序后的新列表,排序操作不會(huì)對(duì)原列表產(chǎn)生影響list.reverse()逆置列表,即把原列表中的元素從右至左依次排列存放list.count(x)統(tǒng)計(jì)元素x在列表中出現(xiàn)的次數(shù)表4-1列表內(nèi)置方法4.1.10列表推導(dǎo)式(1)[表達(dá)式1for變量xin可迭代對(duì)象]表達(dá)式1通常是含有循環(huán)變量x的表達(dá)式,可迭代對(duì)象中的元素通常是可枚舉的對(duì)象,如字符串、列表、元組、集合、字典等組合類型,還有range對(duì)象等。執(zhí)行流程:變量x依次從可迭代對(duì)象中取出一個(gè)元素,通過(guò)含變量x的表達(dá)式1計(jì)算后,成為新建列表對(duì)應(yīng)位置上的一個(gè)元素。(2)[表達(dá)式1for變量xin可迭代對(duì)象ifx滿足的條件]執(zhí)行流程:返回可迭代對(duì)象中符合條件的元素構(gòu)成的新列表,其列表元素由符合條件的可迭代對(duì)象元素依據(jù)表達(dá)式1計(jì)算得到。具體地,變量x依次從可迭代對(duì)象中取出一個(gè)元素,檢測(cè)x是否符合條件。若符合,則計(jì)算表達(dá)式的值,作為新建列表的一個(gè)元素;若不符合條件,舍棄。(3)[表達(dá)式1if條件表達(dá)式else表達(dá)式2for變量xin可迭代對(duì)象]執(zhí)行流程:根據(jù)可迭代對(duì)象中的元素是否符合條件來(lái)決定新建列表元素的值。具體地,變量x依次從可迭代對(duì)象中取出一個(gè)元素,檢測(cè)x是否符合條件。若符合,則返回表達(dá)式1作為新建列表的一個(gè)元素;若不符合,則返回表達(dá)式2作為新建列表的一個(gè)元素。4.2元組元組和列表一樣,都是用于封裝多個(gè)元素的有序序列,但它們有一個(gè)關(guān)鍵的區(qū)別:元組是不可變的,而列表是可變的。元組使用圓括號(hào)“()”括起來(lái),并使用逗號(hào)
“,”分隔元素。在元組中,可以包含不同類型的元素,例如整數(shù)、浮點(diǎn)數(shù)、字符串、甚至其他元組或列表。一旦創(chuàng)建,元組的長(zhǎng)度是固定的,不能添加、刪除或修改其中的元素。4.2.1創(chuàng)建元組創(chuàng)建元組的方法有幾種,下面是幾種常用的方式。(1)使用圓括號(hào)使用圓括號(hào)()將元素括起來(lái),元素之間用逗號(hào)分隔。注意:創(chuàng)建只有一個(gè)元素的元組時(shí),需要在元素后面添加一個(gè)逗號(hào),以將其視為元組。否則,Python會(huì)將其視為括號(hào)表達(dá)式,而不是元組。(2)使用tuple函數(shù)創(chuàng)建元組使用tuple函數(shù)可以將其他可迭代對(duì)象(如列表、字符串等)轉(zhuǎn)換為元組。4.2.2訪問(wèn)元組元素元組同列表一樣都是有序數(shù)據(jù)類型,都支持以索引和切片方式訪問(wèn)相應(yīng)的元素,也支持在循環(huán)中遍歷元組。4.2.3元組推導(dǎo)式元組也支持推導(dǎo)式。同列表一樣,也有三種格式。
tuple(表達(dá)式1for變量xin可迭代對(duì)象)
tuple(表達(dá)式1for變量xin可迭代對(duì)象ifx滿足條件)
tuple(表達(dá)式1if條件表達(dá)式else表達(dá)式2for變量xin可迭代對(duì)象)4.3集合
集合作為一種無(wú)序且不允許重復(fù)元素的數(shù)據(jù)容器,在處理需要唯一元素和高效成員檢查的場(chǎng)景中具有獨(dú)特的優(yōu)勢(shì)。學(xué)習(xí)和使用集合類型可以為數(shù)據(jù)處理提供更多的選擇和靈活性。集合具有以下特點(diǎn):1)集合中的元素是唯一的,不重復(fù)。如果重復(fù)相同的元素,集合將自動(dòng)去重。2)集合是無(wú)序的,沒(méi)有固定的順序。因此,無(wú)法像列表或元組那樣索引來(lái)訪問(wèn)集合中的元素。3)集合是可迭代的,可以使用
for
循環(huán)遍歷集合中的元素。4)集合是可變的,可以添加、刪除和修改集合中的元素。
4.3.1創(chuàng)建集合
在Python中,可以使用大括號(hào){}或者使用set函數(shù)來(lái)創(chuàng)建并初始化集合。(1)使用大括號(hào){}語(yǔ)法格式:集合類型變量={數(shù)據(jù)1,數(shù)據(jù)2,...}說(shuō)明:可以直接通過(guò)在{}中列舉數(shù)據(jù)元素的方式創(chuàng)建并初始化一個(gè)集合變量。(2)使用函數(shù)set格式:集合類型變量=set(變量名或?qū)ο髷?shù)據(jù))說(shuō)明:set函數(shù)可以利用字符串、元組、列表、集合、字典、range對(duì)象、其他類型的迭代對(duì)象數(shù)據(jù)創(chuàng)建并初始化一個(gè)集合變量,其參數(shù)可以是一個(gè)具體數(shù)據(jù),也可以是包含上述數(shù)據(jù)的變量。(3)使用set函數(shù)創(chuàng)建空的集合如果使用空的大括號(hào){}來(lái)創(chuàng)建一個(gè)對(duì)象,那么創(chuàng)建的將是一個(gè)空字典,而非空集合。因此,必須使用set函數(shù)來(lái)創(chuàng)建一個(gè)空集合。4.3.2訪問(wèn)集合元素由于集合是無(wú)序可變序列,故集合不支持與位置索引相關(guān)的操作,如下標(biāo)和切片訪問(wèn)等;集合是通過(guò)成員檢查來(lái)確定元素是否存在的,也可以利用循環(huán)遍歷集合中的每一個(gè)元素。(1)成員運(yùn)算in和notin運(yùn)算符是用于檢查一個(gè)元素是否存在于集合、列表、元組、字符串等可迭代對(duì)象中,語(yǔ)法格式如下:
elementiniterabel:若element存在于可迭代變量中返回True,否則返回False。
elementnotiniterable:若element不存在于可迭代變量中返回True,否則返回False。(2)通過(guò)for循環(huán)訪問(wèn)集合元素4.3.3添加集合元素
集合是可變序列,在創(chuàng)建集合后,還可以對(duì)其添加元素。(1)add方法使用add方法向集合添加單個(gè)元素,如果元素已經(jīng)存在,則不會(huì)重復(fù)添加。(2)update方法使用update方法向集合添加多個(gè)元素,可以傳遞一個(gè)可迭代對(duì)象(如列表、元組等)作為參數(shù)。4.3.4刪除集合元素在Python中,刪除集合元素是一個(gè)常見(jiàn)的操作,有多種方法可以實(shí)現(xiàn)。(1)remove方法使用remove方法會(huì)從集合中刪除指定的元素。如果集合中不存在該元素,會(huì)引發(fā)KeyError異常。(2)discard方法discard方法會(huì)從集合中刪除指定的元素。如果集合不存在該元素,該不會(huì)引發(fā)異常而是不進(jìn)行任何操作。(3)clear方法使用clear方法會(huì)清空集合元素,使其變?yōu)榭占稀#?)del關(guān)鍵字在Python中,可以使用del關(guān)鍵字來(lái)刪除集合變量。4.3.5刪除集合元素在Python中,刪除集合元素是一個(gè)常見(jiàn)的操作,有多種方法可以實(shí)現(xiàn)。(1)remove方法使用remove方法會(huì)從集合中刪除指定的元素。如果集合中不存在該元素,會(huì)引發(fā)KeyError異常。(2)discard方法discard方法會(huì)從集合中刪除指定的元素。如果集合不存在該元素,該不會(huì)引發(fā)異常而是不進(jìn)行任何操作。(3)clear方法使用clear方法會(huì)清空集合元素,使其變?yōu)榭占稀#?)del關(guān)鍵字在Python中,可以使用del關(guān)鍵字來(lái)刪除集合變量。4.3.5集合的操作在Python中,集合支持多種常見(jiàn)的集合操作,如并集、交集、差集和對(duì)稱差集等。這些運(yùn)算可通過(guò)運(yùn)算符或方法來(lái)進(jìn)行。(1)并集使用‘|’運(yùn)算符或者union方法來(lái)獲取兩個(gè)集合的并集。(2)交集使用‘&’運(yùn)算符或者intersection方法來(lái)獲取兩個(gè)集合的交集。所謂的交集就是取兩個(gè)集合相同元素,沒(méi)有相同元素的話返回的就是set。(3)差集使用‘-’運(yùn)算符或者difference方法來(lái)獲取兩個(gè)集合的差集。(4)對(duì)稱差集使用‘^’運(yùn)算符或者symmetric_difference方法來(lái)獲取兩個(gè)集合的對(duì)稱差集。所謂的對(duì)稱差集就是set1和set2中相同的元素剔除,剩下的元素就是對(duì)稱差集。4.3.5集合的操作
除了運(yùn)算符之外,還存在其他一些常用的集合方法。比如intersection_update方法用于在原集合上更新為兩個(gè)集合的交集,difference_update方法用于在原集合上更新為兩個(gè)集合的差集,symmetric_difference_update方法用于在原集合上更新為兩個(gè)集合的對(duì)稱差集。表4-2對(duì)集合的運(yùn)算符與內(nèi)置函數(shù)進(jìn)行了匯總。集合運(yùn)算(x與y為集合)內(nèi)置函數(shù)說(shuō)明x&yersection(y)返回集合x(chóng)與y的交集x|yx.union(y)返回集合x(chóng)與y的并集x-yx.difference(y)返回集合x(chóng)與y的差集x^yx.symmetric_difference(y)返回集合x(chóng)與y的對(duì)稱差集x&=yersection_update(y)更新x為集合x(chóng)與y的交集x|=yx.update(y)更新x為集合x(chóng)與y的并集x-=yx.difference_update(y)更新x為集合x(chóng)與y的差集x^=yx.symmetric_difference_update(y)更新x為集合x(chóng)與y的對(duì)稱差集x<=yx.issubset(y)判斷x是否為y的子集x>=yx.issuperset(y)判斷x是否為y的超集表4-2集合內(nèi)置運(yùn)算4.3.6集合推導(dǎo)式
集合推導(dǎo)式是一種快速創(chuàng)建集合的方式,類似于列表推導(dǎo)式。它允許通過(guò)一種簡(jiǎn)潔的語(yǔ)法形式從一個(gè)可迭代對(duì)象中生成集合。集合推導(dǎo)式的基本語(yǔ)法格式如下:
{表達(dá)式1for變量xin可迭代對(duì)象}
{表達(dá)式1for變量xin可迭代對(duì)象ifx滿足條件}
{表達(dá)式1if條件表達(dá)式else表達(dá)式2for變量xin可迭代對(duì)象}4.4字典字典是一種無(wú)序的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)鍵值對(duì)(key-value)。每個(gè)元素由一個(gè)鍵和一個(gè)對(duì)應(yīng)的值組成,鍵和值之間使用冒號(hào)進(jìn)行分隔,每個(gè)鍵值對(duì)之間使用逗號(hào)進(jìn)行分隔。字典有幾個(gè)主要特點(diǎn):1)無(wú)序性:字典中的元素沒(méi)有固定的順序,不能通過(guò)索引來(lái)訪問(wèn)元素。這意味著在字典中查找元素時(shí),不需要遍歷整個(gè)字典,而是通過(guò)鍵直接定位到對(duì)應(yīng)的值,時(shí)間復(fù)雜度為O(1)。2)可變性:可以向字典中添加、修改或刪除元素。這使得字典非常靈活,可以根據(jù)需要?jiǎng)討B(tài)地調(diào)整字典的內(nèi)容。3)唯一鍵:字典中的鍵必須是唯一的,如果添加了相同的鍵,則后面的鍵值對(duì)會(huì)覆蓋前面的鍵值對(duì)。這確保了每個(gè)鍵都與一個(gè)唯一的值關(guān)聯(lián)。4)使用字典可以方便地進(jìn)行快速查找和檢索數(shù)據(jù),并且具有良好的性能。4.4.1創(chuàng)建字典可以使用大括號(hào){}或者dict函數(shù)來(lái)創(chuàng)建一個(gè)字典。字典中的鍵是唯一的,且必須是不可變的(如字符串、數(shù)字或元組),而值可以是任意類型的對(duì)象。下面給出創(chuàng)建字典的幾種方式。(1)用大括號(hào)創(chuàng)建字典(2)用dict函數(shù)創(chuàng)建字典(3)創(chuàng)建空的字典4.4.2訪問(wèn)字典元素(1)使用方括號(hào)[]和鍵利用這種方式可以直接訪問(wèn)字典中對(duì)應(yīng)鍵的值。(2)使用get方法get方法用于訪問(wèn)字典元素,它返回指定鍵的值,如果鍵不存在,返回None。(3)使用keys方法遍歷所有鍵keys方法返回一個(gè)包含字典所有鍵的迭代器,可以用于遍歷所有鍵。(4)使用values方法遍歷所有值values方法返回一個(gè)包含字典所有值的迭代器,可以用于遍歷所有值。(5)使用items方法遍歷所有鍵值對(duì)items方法返回一個(gè)包含字典所有鍵值對(duì)的迭代器,可以用于遍歷所有鍵值對(duì)。4.4.3刪除字典(元素)(1)使用del語(yǔ)句刪除整個(gè)字典(2)pop方法pop(key)方法用于刪除字典中指定鍵key的鍵值對(duì),并返回對(duì)應(yīng)的值。如果鍵不存在,可以提供默認(rèn)值。(3)popitem方法popitem用于刪除字典中的最后一個(gè)鍵值對(duì),并返回一個(gè)包含鍵值對(duì)的元組。(4)clear方法clear方法用于清空字典,刪除所有的鍵值對(duì)。(5)使用del語(yǔ)句刪除特定鍵值對(duì)使用del語(yǔ)句可以直接刪除指定鍵值對(duì)4.4.4添加字典元素(1)直接賦值
通過(guò)直接賦值的方式添加鍵值對(duì)。(2)使用update方法
update方法用于將一個(gè)字典的鍵值更新到另一個(gè)字典中,或者添加新的鍵值對(duì),它接受一個(gè)字典作為參數(shù)。(3)使用setdefault方法
setdefault(key,default
)方法用于在字典中添加鍵值對(duì),如果鍵已經(jīng)存在,則返回對(duì)應(yīng)的值,如果鍵不存在,則將鍵值對(duì)添加到字典中。4.4.5修改字典元素(1)直接賦值
直接使用鍵來(lái)賦新的值,如果鍵存在,則修改對(duì)應(yīng)鍵的值;如果鍵不存在,則創(chuàng)建新的鍵值對(duì)。(2)使用update方法
update方法可以一次性更新多個(gè)鍵值對(duì),接受一個(gè)字典作為參數(shù)。如果傳入的字典中有已存在的鍵,則對(duì)應(yīng)的值會(huì)被更新;如果有新的鍵,則會(huì)被添加到字典中。(3)使用setdefault方法
setdefault(key,default)方法用于在字典中添加鍵值對(duì),如果鍵已存在,則不會(huì)修改原來(lái)的值;如果鍵不存在,則添加新的鍵值對(duì)。適用于需要確保鍵存在且不希望修改已存在鍵的值的情況。(4)直接使用dict[key]=value語(yǔ)法
直接通過(guò)語(yǔ)法進(jìn)行賦值,與直接賦值方式類似,如果鍵存在,則修改對(duì)應(yīng)鍵的值;如果鍵不存在,則創(chuàng)建新的鍵值對(duì)。與直接賦值方式相比,語(yǔ)法更加簡(jiǎn)潔。4.4.6字典推導(dǎo)式字典推導(dǎo)式是一種創(chuàng)建字典的緊湊方式,類似于列表推導(dǎo)式。使用字典推導(dǎo)式可以快速地生成字典。方法說(shuō)明clear()移除字典中的所有元素。copy()返回字典的淺復(fù)制副本。fromkeys(seq[,
value])創(chuàng)建一個(gè)新字典,使用指定的鍵和每個(gè)鍵對(duì)應(yīng)的值。get(key[,
default])返回字典中指定鍵的值。如果鍵不存在,則返回默認(rèn)值。items()返回字典中所有鍵值對(duì)的元組視圖。keys()返回字典中所有鍵的視圖。pop(key[,
default])彈出并返回字典中指定鍵的值。如果鍵不存在,則返回默認(rèn)值。popitem()彈出并返回字典中的一對(duì)鍵值。setdefault(key[,
default])返回字典中指定鍵的值。如果鍵不存在,則在字典中添加鍵并返回默認(rèn)值。update([other])將其他字典或鍵值對(duì)更新到字典中。values()返回字典中所有值的視圖。len()計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)str()輸出字典可打印的字符串表示type()返回輸入的變量類型,如果變量是字典就返回字典類型cmp(dict1,
dict2)比較兩個(gè)字典元素本章小結(jié)
本章深入探討了Python中的組合數(shù)據(jù)類型,包括列表、元組、字典和集合。這些數(shù)據(jù)結(jié)構(gòu)具有不同的特性和用途,為程序員提供了靈活而強(qiáng)大的工具,能夠有效地組織和處理復(fù)雜的數(shù)據(jù)。本章詳細(xì)講述如何創(chuàng)建和訪問(wèn)這些數(shù)據(jù)類型,以及如何進(jìn)行元素的增刪改查、排序和統(tǒng)計(jì)等操作。通過(guò)學(xué)習(xí)本章內(nèi)容,讀者可以更加熟練地運(yùn)用這些組合數(shù)據(jù)類型,提高在實(shí)際編程中的數(shù)據(jù)處理能力,從而更好地解決各種問(wèn)題。第5章
字符串目錄5.1字符串的基礎(chǔ)知識(shí)5.2字符串的常見(jiàn)操作在Python中,有三種不同的方式來(lái)定義字符串:?jiǎn)我?hào)、雙引號(hào)和三引號(hào)。單引號(hào)和雙引號(hào)的使用方式很相似,但一般來(lái)說(shuō),建議在同一代碼塊中用一種方法來(lái)聲明字符串。三引號(hào)用于定義多行字符串,這是一種非常方便的語(yǔ)法,可以在一組三引號(hào)標(biāo)記的字符串中包含換行符和其他特殊字符,無(wú)需使用轉(zhuǎn)義字符。字符串也是有序數(shù)據(jù),可以通過(guò)索引和切片獲取字符串中的某個(gè)字符或者某個(gè)子串。索引規(guī)則與列表相同,切片和索引的獲取與列表相同,但是字符串不可修改。具體來(lái)說(shuō),字符串的索引是從0開(kāi)始的,也可以從后往前用負(fù)數(shù)索引,例如,-1表示最后一個(gè)字符的索引。字符串的切片可以通過(guò)[start:end]的方式獲取[start,end)之間的子串,也可以通過(guò)[start:end:step]的方式獲取[start,end)之間以step為步長(zhǎng)的子串。5.1字符串的基礎(chǔ)知識(shí)5.2字符串的常見(jiàn)操作本節(jié)介紹字符串的常見(jiàn)操作,如字符串的格式化輸出、字符串的拼接和復(fù)制、字符串的分割和合并、字符串的查找和替換、字符串的大小寫(xiě)轉(zhuǎn)換、字符串的測(cè)試判斷、字符串的排版以及字符串的加密和解密。5.2.1字符串的格式化輸出(1)使用%運(yùn)算符進(jìn)行格式化不同的數(shù)據(jù)類型的變量要使用不同的格式字符進(jìn)行占位。不同的格式字符為不同類型的變量預(yù)留位置。語(yǔ)法格式:格式化字符串%(值1,值2,...)運(yùn)算符%左邊:由普通字符和格式字符組成的格式化的字符串;運(yùn)算符%右邊:由圓括號(hào)括起來(lái)的值。格式符格式說(shuō)明%c將對(duì)應(yīng)的數(shù)據(jù)格式化為字符%s將對(duì)應(yīng)的數(shù)據(jù)格式化為字符串%d將對(duì)應(yīng)的數(shù)據(jù)格式化為整數(shù)%u將對(duì)應(yīng)的數(shù)據(jù)格式化為無(wú)符號(hào)整數(shù)%o將對(duì)應(yīng)的數(shù)據(jù)格式化為無(wú)符號(hào)八進(jìn)制整數(shù)%x將對(duì)應(yīng)的數(shù)據(jù)格式化為無(wú)符號(hào)十六進(jìn)制整數(shù)%f將對(duì)應(yīng)的數(shù)據(jù)格式化為浮點(diǎn)數(shù),可指定小數(shù)點(diǎn)后的精度(默認(rèn)保留6為小數(shù))5.2.1字符串的格式化輸出(2)format方法第二種方法為使用format方法進(jìn)行格式化,具體使用格式如下:
格式化字符串.format(值1,值2.....)格式化字符串由一系列槽({})組成,用來(lái)控制字符串中嵌入值出現(xiàn)的位置及格式,將format中用逗號(hào)分隔的參數(shù)按照序號(hào)替換到字符串的槽中,序號(hào)也可以省略,省略時(shí)按照出現(xiàn)的先后順序進(jìn)行替換。相對(duì)來(lái)說(shuō)format比%在性能和靈活性上更好一些。(3)f-String以F或f開(kāi)頭,后面跟字符串,字符串中的表達(dá)式用大括號(hào){}包起來(lái),它會(huì)將變量或表達(dá)式計(jì)算后的值替換進(jìn)去。格式:F"格式化字符串{變量名}"或F"格式化字符串{變量名}"5.2.2字符串的拼接和復(fù)制(1)+運(yùn)算符使用+運(yùn)算符可以直接連接兩個(gè)字符串。(2)join方法join方法用于將序列中的元素以指定的字符串連接成一個(gè)新的字符串,其語(yǔ)法如下:字符串.join(序列)字符串:表示連接序列中元素之間的字符串。序列:表示要連接的元素序列。(1)split方法split方法將一個(gè)字符串分割成子字符串,并返回一個(gè)包含這些子字符串的列表。默認(rèn)情況下,split方法根據(jù)空格進(jìn)行分割,也可以指定其它字符分隔。5.2.3
字符串的分割和合并(1)find方法
find方法可查找字符串中是否包含子串,若包含則返回子串首次出現(xiàn)的位置,否則返回-1。
語(yǔ)法格式:str.find(sub[,start[,end]]),其中:
sub:指定要查找的子串。
start:開(kāi)始索引,默認(rèn)為0。
end:結(jié)束索引,默認(rèn)為字符串的長(zhǎng)度。5.2.4字符串的查找和替換5.2.5字符串的大小寫(xiě)轉(zhuǎn)換Python提供了對(duì)字符串中英文字母大小寫(xiě)切換的方。Title方法將字符串中每個(gè)單詞首字母轉(zhuǎn)換為大寫(xiě);capitalize方法可以實(shí)現(xiàn)字符串首字母大寫(xiě);upper和lower分別可以實(shí)現(xiàn)字符串中的字母全部大寫(xiě)和全部小寫(xiě)的功能,swapcase則可以實(shí)現(xiàn)大小寫(xiě)相互切換的功能。方法含義str.title()字符串中每個(gè)單詞的首字母大寫(xiě)str.capitalize()字符串首字母大寫(xiě)str.upper()字
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年環(huán)境勘察評(píng)估服務(wù)合同3篇
- 2024民間個(gè)人資金周轉(zhuǎn)借款合同范本(短期)3篇
- 2025版蔬菜加工廠建設(shè)與運(yùn)營(yíng)合同
- 二零二五年份船舶制造與維修合同3篇
- 2024年貨物搬運(yùn)與裝卸協(xié)議
- 2024年銷售業(yè)務(wù)擔(dān)保協(xié)議標(biāo)準(zhǔn)格式一
- 2024年版校園租賃:教室與場(chǎng)地使用合同版
- 2024年版物業(yè)管理服務(wù)合同及其附屬條款
- 市場(chǎng)活動(dòng)策劃聘用協(xié)議
- 國(guó)家公園基站租賃合同
- 貼面 貼面修復(fù)
- 2023年高二學(xué)業(yè)水平測(cè)試生物模擬考試試題
- 力士樂(lè)-mtx micro簡(jiǎn)明安裝調(diào)試手冊(cè)v4updated
- GB/T 6807-2001鋼鐵工件涂裝前磷化處理技術(shù)條件
- GB/T 15109-1994白酒工業(yè)術(shù)語(yǔ)
- 膜片鉗常見(jiàn)問(wèn)題匯總(人人都會(huì)膜片鉗)
- 校車安全逃生技能培訓(xùn)學(xué)習(xí)
- (新版)電網(wǎng)規(guī)劃專業(yè)知識(shí)考試題庫(kù)(含答案)
- 學(xué)校心理危機(jī)干預(yù)流程圖
- 杏醬生產(chǎn)工藝
- 融資擔(dān)保業(yè)務(wù)風(fēng)險(xiǎn)分類管理辦法
評(píng)論
0/150
提交評(píng)論