




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章搭建Python的工作平臺(tái)Python程序設(shè)計(jì)基礎(chǔ)教程(慕課版)高職高專計(jì)算機(jī)系列全套PPT課件與其他程序設(shè)計(jì)語(yǔ)言一樣,要使用Python編程,就需要在計(jì)算機(jī)里搭建起可以讓它工作的平臺(tái)。這個(gè)平臺(tái)至少要由兩個(gè)部分組成:一是語(yǔ)言編譯(或解釋)程序,二是代碼編輯程序,二者缺一不可。在本書中,前者是Python,后者是SublimeText。本章將向讀者介紹這兩個(gè)程序的具體安裝過程。要說明的是,適合Python的文本編輯程序有多種,SublimeText僅是其中之一;還要說明的是,這里介紹的安裝過程,都是針對(duì)Windows操作系統(tǒng)的。如果使用的是Linux或MacOSX等操作系統(tǒng),那么安裝過程會(huì)有所不同,這里不做描述。本章導(dǎo)讀Thechapter’sintroduction目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.1.1在Windows操作系統(tǒng)下安裝Python打開瀏覽器,進(jìn)入Python的官網(wǎng),如圖1-1所示。圖1-1圖1-1選擇“Downloads”菜單,即可進(jìn)入圖1-2所示的下載界面。圖1-21.1.1在Windows操作系統(tǒng)下安裝Python這時(shí)桌面上出現(xiàn)圖1-3所示的“新建下載任務(wù)”對(duì)話框,里面給出了下載的“網(wǎng)址”、“名稱”和“下載到”的位置。如果保持默認(rèn)設(shè)置,系統(tǒng)會(huì)將“名稱”為“python-3.6.4.exe”的軟件下載到“C:\”(C盤的根目錄)下。圖1-2單擊畫面中的黃色按鈕即可下載當(dāng)前最新版本的Python安裝程序。本書以Python3.6.4版本為例,其他版本的安裝和使用方法類似。單擊“下載”按鈕,下載Python的安裝程序。1.1.1在Windows操作系統(tǒng)下安裝Python圖1-4下載完成后,屏幕上會(huì)出現(xiàn)圖1-4所示的“打開文件-安全警告”對(duì)話框。單擊“運(yùn)行”按鈕,即會(huì)出現(xiàn)圖1-5所示的“Python3.6.4(32-bit)Setup”對(duì)話框。圖1-5注意在繼續(xù)安裝之前,要勾選圖1-5所示的“AddPython3.6toPATH”復(fù)選框,把Python添加到計(jì)算機(jī)的環(huán)境變量PATH中去。以后每次使用Python時(shí),就不必輸入完整的路徑了。1.1.1在Windows操作系統(tǒng)下安裝Python圖1-6圖1-7選擇“InstallNow”選項(xiàng),開始安裝,如圖1-6所示。安裝成功后,單擊“Close”按鈕,如圖1-7所示,就會(huì)出現(xiàn)圖1-8所示的“管理員:C:\Windows\system32\cmd.exe-python”窗口,它正是我們所需要的Python工作窗口,因?yàn)樗@示了Python提示符“>>>”。1.1.1在Windows操作系統(tǒng)下安裝Python圖1-8圖1-9下載、安裝完成后,可以查看當(dāng)前計(jì)算機(jī)的C盤。這時(shí),在其根目錄下會(huì)出現(xiàn)Python的標(biāo)識(shí)“python-3.6.4”,如圖1-9所示。目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.1.2Python的版本更新和卸載識(shí)別計(jì)算機(jī)系統(tǒng)里有沒有安裝Python,有如下兩種方法。(1)在桌面上按住Shift鍵的同時(shí)單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“在此處打開命令窗口(W)”選項(xiàng),打開圖1-10所示的命令窗口。這時(shí),在提示符“>”后輸入“python”,并按Enter鍵,如果窗口顯示的結(jié)果是“‘python’不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件?!?,如圖1-11所示,則表明系統(tǒng)目前沒有安裝Python。圖1-10圖1-111.1.2Python的版本更新和卸載(2)單擊桌面上的“開始”按鈕,選擇里面的“運(yùn)行”命令或按Win+R組合鍵,打開“運(yùn)行”對(duì)話框,輸入“command”,如圖1-12所示。單擊“確定”按鈕后,就會(huì)出現(xiàn)圖1-13所示的窗口。圖1-12圖1-13這時(shí),在“>”后輸入“python”,按Enter鍵。若結(jié)果如圖1-11所示,表明系統(tǒng)里沒有Python;但如果顯示“>>>”,如圖1-14所示,表明系統(tǒng)已經(jīng)安裝了Python。1.1.2Python的版本更新和卸載要退出Python,可以在提示符“>>>”后,輸入命令“exit()”或按Ctrl+Z(^Z)組合鍵。如果已安裝了Python,需要更新或卸載Python,可以通過重復(fù)以上的安裝步驟,在出現(xiàn)圖1-14所示的對(duì)話框后,會(huì)直接出現(xiàn)圖1-15所示的對(duì)話框。這里提供了3項(xiàng)功能:Modify(修改)、Repair(恢復(fù))、Uninstall(卸載)。圖1-14圖1-15目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.2.1在Windows操作系統(tǒng)下安裝SublimeText圖1-16圖1-17進(jìn)入SublimeText中文官網(wǎng),如圖1-16所示。單擊“下載”按鈕,打開下載界面,如圖1-17所示。根據(jù)自己的計(jì)算機(jī)配置,選擇下載合適的安裝版本。1.2.1在Windows操作系統(tǒng)下安裝SublimeText圖1-18圖1-19下載完成后,雙擊安裝文件,打開圖1-18所示的“SublimeText3”對(duì)話框。勾選“添加到開始菜單”和“安裝完成后立即運(yùn)行”兩個(gè)復(fù)選框后,單擊“立即安裝”按鈕,出現(xiàn)圖1-19所示的對(duì)話框,可以根據(jù)自己的需要選擇軟件的安裝位置。這里Python被安裝在了C盤,SublimeText被安裝在了D盤。注意不要勾選圖中的復(fù)選框。1.2.1在Windows操作系統(tǒng)下安裝SublimeText圖1-20圖1-21單擊“下一步”按鈕,出現(xiàn)圖1-20所示的對(duì)話框。注意不要勾選圖中的復(fù)選框。安裝結(jié)束后,屏幕上就會(huì)立即出現(xiàn)編輯器“SublimeText3”的工作窗口,如圖1-21所示。下面就可以開始利用它來進(jìn)行Python語(yǔ)言程序的編寫了。1.2.1在Windows操作系統(tǒng)下安裝SublimeText圖1-22通過上述安裝過程,SublimeText3的快捷方式也會(huì)出現(xiàn)在桌面上,雙擊該圖標(biāo)即可打開程序,如圖1-22所示。目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.2.2SublimeText簡(jiǎn)介圖1-23“當(dāng)前編輯文本”記錄了編輯器正在為哪個(gè)文本服務(wù)。圖1-21中記錄的是“untitled”,即一個(gè)未命名的新創(chuàng)建的文本文件。而在圖1-23中,顯示的則是“D:\test4.py”,表示正在為D盤根目錄下的test4.py文本服務(wù)。1.當(dāng)前編輯文本1.2.2SublimeText簡(jiǎn)介“菜單行”里的菜單項(xiàng)都有自己的子菜單,以對(duì)應(yīng)完成不同的工作。例如,菜單項(xiàng)“文件(F)”的子菜單里有“新建文件(N)”“打開文件(O)”“保存(S)”等,它們的含義大都是明確的,這里不再細(xì)講。2.菜單行3.打開文件區(qū)“打開文件區(qū)”(OPENFILES)按照打開的順序列出了文件的名字。例如,在圖1-23中,先后打開的文件是test1.py、test2.py和test4.py。其中,文件test4.py高亮顯示,表明圖1-23的“文本編輯區(qū)”里顯示的是test4.py的文本內(nèi)容,并正在對(duì)它進(jìn)行編輯工作。1.2.2SublimeText簡(jiǎn)介只要在“打開文件區(qū)”里有打開的文件,在“文本編輯區(qū)”上方的標(biāo)簽欄中就會(huì)列出當(dāng)前已打開文件的文件名,且正在被編輯的文件名高亮顯示,與“打開文件區(qū)”是同步的。單擊文件名,該文件的內(nèi)容就會(huì)出現(xiàn)在“文本編輯區(qū)”中供用戶編輯。單擊文件名右邊的“×”按鈕可以關(guān)閉文件,如圖1-24所示。5.文本編輯區(qū)圖1-24目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.3.1Python程序的運(yùn)行步驟在SublimeText的文本編輯區(qū),輸入“輸出問候語(yǔ)”程序的代碼:1.調(diào)用SublimeText,編寫程序1 first_name="adam"2 last_name="smith"3 full_name=first_name+"."+last_name4 massage="hello,"+full_name+"!"5 print(massage)1.3.1Python程序的運(yùn)行步驟程序要實(shí)現(xiàn)的功能:第1條語(yǔ)句是將名字“adam”存儲(chǔ)在變量first_name里;第2條語(yǔ)句是將姓“smith”存儲(chǔ)在變量last_name里;第3條語(yǔ)句是將名和姓拼成全名存儲(chǔ)在變量full_name里;第4條語(yǔ)句是拼成一句問候語(yǔ),并將其存儲(chǔ)在變量massage里;第5條語(yǔ)句是在屏幕上輸出問候語(yǔ),如圖1-25所示。圖1-251.3.1Python程序的運(yùn)行步驟執(zhí)行“文件(F)”→“保存(S)”命令,將編輯的文件存放在D盤根目錄下,取名為“test”,如圖1-26所示。由于SublimeText在D盤,將test.py存放在D盤會(huì)比較方便。在圖1-26中,單擊“保存”按鈕后,圖1-25所示的窗口變?yōu)閳D1-27所示的窗口。2.保存程序請(qǐng)注意,這之間發(fā)生了很多變化:文件名變了;文件的性質(zhì)由“純文本”變?yōu)榱恕癙ython”;在程序文本里,有的符號(hào)和名稱改變了顏色。這一切都是編輯器SublimeText為程序員提供的信息,為程序員編寫出正確的程序代碼提供的便利。圖1-26圖1-271.3.1Python程序的運(yùn)行步驟在桌面上,按住Shift鍵的同時(shí)單擊鼠標(biāo)右鍵,從彈出的快捷菜單里選擇“在此處打開命令窗口(W)”選項(xiàng)(或“在此處打開Powershell窗口(S)”選項(xiàng)),進(jìn)入“管理員:C:\Windows\system32\cmd.exe”窗口,如圖1-28所示。3.執(zhí)行程序圖1-281.3.1Python程序的運(yùn)行步驟在“>”提示符后鍵入“d:”,將命令窗口切換到D盤“D:\>”。在“D:\>”后鍵入“pythontest.py”,隨后按Enter鍵。程序test.py將被Python執(zhí)行,在屏幕上輸出結(jié)果“hello,adam.smith!”,如圖1-29所示。圖1-29安裝Python至圖1-5所示步驟時(shí),曾強(qiáng)調(diào)要將圖中左下方的復(fù)選框“AddPython3.6toPATH”勾選。這個(gè)動(dòng)作的作用是將Python添加到計(jì)算機(jī)的環(huán)境變量PATH中去。這樣一來,以后每次使用Python時(shí),就不必輸入完整的路徑了。這里的操作就體現(xiàn)了該動(dòng)作的重要性。目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.3.2開始編程前的兩點(diǎn)建議為了編程方便,在工作時(shí)可以將Python及SublimeText兩個(gè)窗口同時(shí)在桌面上打開,如圖1-30所示。要在哪一個(gè)窗口工作,就單擊激活哪一個(gè)窗口。這樣的桌面布局,會(huì)給編程和開發(fā)工作帶來便利。1.雙窗口并行操作圖1-301.3.2開始編程前的兩點(diǎn)建議進(jìn)入SublimeText,執(zhí)行“文件(F)”→“新建文件(N)”命令,這時(shí)光標(biāo)位于第1行。按Enter鍵換行后,光標(biāo)停留在第2行上;其窗口如圖1-31所示。這時(shí),執(zhí)行“文件(F)”→“保存(S)”命令,為文件起名為“test1.py”。文件保存后,窗口性質(zhì)就由“純文本”變?yōu)椤癙ython”了,如圖1-32所示。2.先建立空的Python文件,后進(jìn)行編程圖1-31圖1-32目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.3.3交互執(zhí)行模式在桌面上按Shift鍵的同時(shí)單擊鼠標(biāo)右鍵,從彈出的快捷菜單里選擇“在此處打開命令窗口(W)”選項(xiàng),屏幕上出現(xiàn)熟悉的命令窗口。在提示符“>”后鍵入“python”并按Enter鍵,窗口如圖1-33所示,出現(xiàn)了Python提示符“>>>”。1.進(jìn)入Python命令窗口圖1-331.3.3交互執(zhí)行模式在Python提示符“>>>”后每輸入一條命令就按Enter鍵,一直到輸入完最后一條命令“print(massage)”并按Enter鍵后,在窗口里得到結(jié)果“hello,adam.smith!”,如圖1-34所示。2.輸入命令并得到結(jié)果在Python提示符“>>>”后輸入一條命令,Python就執(zhí)行這條命令,然后等待在提示符“>>>”后,輸入下一條命令。不同于用SublimeText編寫好程序,然后通過Python調(diào)用該程序執(zhí)行的“程序執(zhí)行”模式,我們稱這種單條執(zhí)行的模式為Python的“交互執(zhí)行”模式。也就是說,Python有兩種工作模式:“程序執(zhí)行”和“交互執(zhí)行”。圖1-34目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介如果Python安裝在C盤,那么為了尋找IDLE,可在C盤下進(jìn)行搜索,圖1-35是在我的計(jì)算機(jī)里尋找的結(jié)果。這就是Python自帶的集成開發(fā)環(huán)境IDLE。打開IDLE,該窗口的名稱為“Python3.6.4Shell”,如圖1-36所示,可以利用它與Python交互工作了:編寫、編輯、調(diào)試、存儲(chǔ)、運(yùn)行、修改,等等。有了IDLE,就可以用它來編寫Python的程序了,如同我們?cè)赟ublimeText里所做的事情那樣。1.尋找你的IDLE圖1-35圖1-361.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介為了開始第一個(gè)程序的編寫,執(zhí)行“File”→“NewFile”命令,或按快捷鍵“Ctrl+N”,如圖1-37所示。這時(shí)會(huì)打開一個(gè)名為“Untitled”的、完全空白的窗口,供編寫程序使用。在里面輸入語(yǔ)句:print(‘HelloPython!’),按“Enter”鍵結(jié)束,等待后續(xù)工作,如圖1-38(a)所示。執(zhí)行“File”→“Save”命令,或按快捷鍵“Ctrl+S”,這時(shí)會(huì)彈出“另存為”對(duì)話框,在這里選擇文件存儲(chǔ)的路徑(如D盤),輸入文件名(如test6),選擇保存文件的類型(當(dāng)然是Pythonfiles)。于是,到D盤,就可以看到這個(gè)文件的存在了。注意,在你完成這一切工作之后,原先名為“Untitled”的窗口,變成了“test6.py-D:/test6.py(3.6.4)”窗口,見圖1-38(b)。2.用IDLE編寫“HelloPython!”1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介圖1-37圖1-381.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介圖1-39執(zhí)行“Run”→“RunModule”命令,或按“F5”鍵,剛才保存的test6.py文件被運(yùn)行,運(yùn)行效果如圖1-39所示。如果再運(yùn)行一次,整個(gè)情況就會(huì)重復(fù)顯現(xiàn)一次。與在Sublimetext中類似,編寫程序如下。first_name="adam"last_name="smith"full_name=first_name+"."+last_namemassage="hello,"+full_name+"!"print(massage)1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介圖1-40重復(fù)上面的步驟,將該程序投入運(yùn)行,它在IDLE窗口里的運(yùn)行結(jié)果如圖1-40所示。目錄導(dǎo)航1.1Python的安裝1.1.1在Windows操作系統(tǒng)下安裝Python1.2SublimeText的安裝1.2.1在Windows操作系統(tǒng)下安裝SublimeText1.3Python程序的運(yùn)行1.4Python自帶的集成開發(fā)環(huán)境IDLE簡(jiǎn)介1.1.2Python的版本更新和卸載1.2.2SublimeText簡(jiǎn)介1.3.1Python程序的運(yùn)行步驟1.3.2開始編程前的兩點(diǎn)建議1.3.3交互執(zhí)行模式結(jié)束語(yǔ)結(jié)束語(yǔ)Concludingremarks目前,Python有兩種主流版本,一個(gè)是2.x版,一個(gè)是3.x版,它們之間并不兼容。從目前來看,Python3.x是大多數(shù)使用者的首選。不過要注意,并不是數(shù)字越大就表示版本越新。在選擇使用Python的時(shí)候,要先考慮清楚自己學(xué)習(xí)Python的目的是什么,打算做哪方面的開發(fā)。Python的各種開發(fā)環(huán)境,基本上都可以從網(wǎng)絡(luò)上免費(fèi)下載。該語(yǔ)言問世以來,已廣泛地用于多個(gè)需要編程的領(lǐng)域。無論是對(duì)剛剛涉足編程的初學(xué)者,還是對(duì)已經(jīng)具有一定經(jīng)驗(yàn)的“老”程序員,它都具有極大的魅力,吸引著人們?nèi)リP(guān)注它、采用它。結(jié)束語(yǔ)Concludingremarks我們?cè)诖私榻B了兩個(gè)可以用來編寫Python程序的環(huán)境,一個(gè)是SublimeText,一個(gè)是Python自帶的集成開發(fā)環(huán)境IDLE。在進(jìn)入正式的編程后,你會(huì)逐漸發(fā)現(xiàn)SublimeText使用起來,似乎順手、方便。這也正是我們通篇都使用它的緣故。不過,它不是一個(gè)集成開發(fā)環(huán)境,工作時(shí),Python窗口和SublimeText窗口間要不停地來回切換,這是極不方便的地方。學(xué)習(xí)到后面的程序調(diào)試時(shí),我們還會(huì)請(qǐng)出IDLE來幫忙,以彌補(bǔ)SublimeText的不足。單元1站點(diǎn)創(chuàng)建與制作商品簡(jiǎn)介頁(yè)面HTML5+CSS3網(wǎng)頁(yè)設(shè)計(jì)與制作實(shí)用教程高職高專計(jì)算機(jī)系列學(xué)習(xí)快樂!第2章變量、字符串、常量、表達(dá)式Python程序設(shè)計(jì)基礎(chǔ)教程(慕課版)高職高專計(jì)算機(jī)系列本章介紹Python中變量、字符串、常量,以及表達(dá)式等的概念。這些概念在Python里含義簡(jiǎn)單,使用方便,沒有其他語(yǔ)言中煩瑣、讓人頭痛的種種“規(guī)矩”,非常人性化。本章導(dǎo)讀Thechapter’sintroduction目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.1.1Python中變量的命名規(guī)則在Python中,取名字必須遵循如下的命名規(guī)則。變量名的第1個(gè)字符只能是英文字母或下劃線。變量名中的其余字符可以是英文字母或數(shù)字。不能將Python自身留用的關(guān)鍵字(或保留字)作為變量名。(a)massage_1 (b)3cx (c)_DCY (d)student_name(e)1_massage (f)dmaxC (g)BBC$TY例2-1下面給出的標(biāo)識(shí)符,哪些可以作為變量名,哪些不可以?說明理由。2.1.1Python中變量的命名規(guī)則(b)不行,因?yàn)閿?shù)字不能作為變量名的開始字符;(e)不行,因?yàn)閿?shù)字不能作為變量名的開始字符;(f)不行,因?yàn)樽兞棵胁荒艹霈F(xiàn)空格(dmax和C之間有一個(gè)空格);(g)不行,因?yàn)樽兞棵荒馨帜?、?shù)字、下劃線,這里卻出現(xiàn)了符號(hào)“$”。答:(a)(c)(d)可以作為變量名;【說明】Python語(yǔ)言是區(qū)分英文字母大小寫的。也就是說,在Python里,即使英文字母全都相同,僅大小寫不同,也代表不同的變量。因此,birthday、Birthday、BIRthday是3個(gè)不同的變量,而不是同一個(gè)變量。2.1.1Python中變量的命名規(guī)則1 massage='Howareyou?' 2 print(massage)3 Massage='whoareyou?'4 print(massage)5 print(Massage)例如,在SublimeText中輸入圖2-1所示的程序:它的執(zhí)行結(jié)果如圖2-2所示。圖2-1這表明第1條語(yǔ)句為變量massage賦的值是字符串“Howareyou?”,第3條語(yǔ)句為變量Massage賦的值是字符串“whoareyou?”。由于Python將massage和Massage視為不同的變量,因此第3條語(yǔ)句的執(zhí)行并沒有改變變量massage的取值。目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.1.2Python的關(guān)鍵字表2-1Python部分關(guān)鍵字表andbreakclassdefdelcontinueforexceptelsefromreturniswhileraiseimportifaseliforyieldfinallyinpasswithTrueFalseNone
我們可以在“交互執(zhí)行”模式下,通過以下方法來獲得Python中的所有關(guān)鍵字名稱:>>>importkeyword>>>keyword.kwlist(或>>>print(keyword.kwlist))這時(shí),窗口里會(huì)輸出Python中所有關(guān)鍵字的名字:['false','None','True','and','as','assert','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']2.1.2Python的關(guān)鍵字在Python程序里,如果一不小心將關(guān)鍵字當(dāng)成了變量名使用,會(huì)出現(xiàn)什么情況呢?例2-2如果不小心把關(guān)鍵字當(dāng)成了變量名使用,Python會(huì)在窗口里給出出錯(cuò)信息。例如,在SublimeText窗口中編寫一個(gè)名為test3.py的程序,這里錯(cuò)誤地把字符串“hellopythonworld”賦給關(guān)鍵字for,如圖2-3所示。存儲(chǔ)后在Python命令窗口運(yùn)行該程序,Python在命令窗口輸出圖2-4所示的出錯(cuò)信息,即:所列信息的第1行告訴我們,文件test3.py的第1行(line1)有一個(gè)錯(cuò)誤;所列信息的第2行原封不動(dòng)地列出了出錯(cuò)行的內(nèi)容;所列信息的第3行顯示一個(gè)插入符(^),指示出出錯(cuò)的位置;所列信息的最后一行顯示該錯(cuò)誤屬于“語(yǔ)法錯(cuò)誤”(SyntaxError:invalidsyntax)。2.1.2Python的關(guān)鍵字圖1-6圖1-7我們可以通過Python提供的這些信息檢查程序,找出出錯(cuò)原因,對(duì)錯(cuò)誤進(jìn)行修正。Python以不同顏色區(qū)分輸入的內(nèi)容,最大限度地向用戶提醒可能出現(xiàn)的問題,幫助程序員編寫出正確的程序。2.1.2Python的關(guān)鍵字在Python里為變量命名,應(yīng)該注重以下3個(gè)方面。132按照命名規(guī)則命名。遵循“簡(jiǎn)短”而又“有含義”的原則命名。避免將關(guān)鍵字作為變量名。目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.1.3變量賦值及函數(shù)id()1.變量賦值對(duì)于一個(gè)變量來說,它應(yīng)該有3個(gè)屬性:名稱、取值、存放的地方。程序員主要關(guān)心變量的“名稱”和“取值”(讓一個(gè)變量取值,通常稱為“賦值”)。至于“存放的地方”,顯然是指存儲(chǔ)的位置,那是操作系統(tǒng)在內(nèi)部進(jìn)行分配的事情,不深入探究時(shí),程序設(shè)計(jì)人員不必太過于關(guān)心它。在Python里,變量不需要類型說明,創(chuàng)建時(shí)直接對(duì)其賦值即可,其類型就由賦給變量的值決定。所以,在Python里,一旦創(chuàng)建了一個(gè)變量,就必須馬上給該變量賦值。Python以“=”為賦值號(hào)。注意,它不是我們以往熟知的“等于”號(hào),其含義是將寫在它右邊的值賦予左邊的變量,成為該變量的當(dāng)前值。我們稱如下形式的語(yǔ)句:<變量名>=<值>為賦值語(yǔ)句。2.1.3變量賦值及函數(shù)id()利用單個(gè)賦值號(hào),Python提供了多種為變量賦值的辦法。(1)允許將同一個(gè)值連續(xù)賦予多個(gè)變量,例如:food1=food2=food3='pizza'表示將字符串“pizza”同時(shí)賦給3個(gè)變量:food1、food2和food3。它相當(dāng)于以下3條賦值語(yǔ)句:food1='pizza'food2='pizza'food3='pizza'2.1.3變量賦值及函數(shù)id()(2)利用逗號(hào)“,”分隔賦值號(hào)左邊和右邊的變量名及值,將右邊的值按順序賦給左邊的變量名,例如:food4,food5='milk','coffee'表示將“milk”賦給變量food4,將“coffee”賦給變量food5,它實(shí)際上相當(dāng)于以下兩條賦值語(yǔ)句:food4='milk'food5='coffee'(3)利用分號(hào)“;”可以把兩條賦值語(yǔ)句串接在一行上。例如,程序中寫為:food6='apple'food7='banana‘這時(shí),可以利用分號(hào),將它們串接為如下的一條語(yǔ)句:food6='apple';food7='banana'2.1.3變量賦值及函數(shù)id()編寫一個(gè)驗(yàn)證上述功能的程序test4.py,如圖2-5所示。它的運(yùn)行結(jié)果如圖2-6所示。圖2-5圖2-62.1.3變量賦值及函數(shù)id()2.函數(shù)id()功能:返回變量所在的內(nèi)存地址。用法:id(<變量名>)例2-3在圖2-7所示的Python“交互執(zhí)行”模式(提示符>>>)下,輸入x=5,調(diào)用函數(shù)id(x),窗口返回1669780592,這就是分配給變量x的內(nèi)存地址;鍵入y=x,調(diào)用函數(shù)id(y),窗口仍然返回1669780592,表明變量x和y取相同的值,使用了同一個(gè)內(nèi)存位置。繼續(xù)輸入,重新為變量x賦值,輸入x=242,調(diào)用函數(shù)id(x)后,返回的地址是1669784384。注意:存放變量x的內(nèi)存地址改變了。這時(shí)調(diào)用函數(shù)id(y),返回的地址仍然是1669780592。圖2-72.1.3變量賦值及函數(shù)id()這一段交互執(zhí)行過程表明,Python采用的是一種基于值的內(nèi)存管理方式:如果為不同變量賦予相同的值(如y=x),那么這個(gè)值在內(nèi)存里只保存一份,Python只是讓多個(gè)變量指向同一個(gè)內(nèi)存位置;當(dāng)重新為某個(gè)變量賦值(如x=242)時(shí),Python為該變量重新分配一個(gè)內(nèi)存空間,用于存放它的新內(nèi)容。這種基于值的內(nèi)存管理方式,可以用圖2-8來表述。目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.2.1Python的字符串字符串中的元素僅限于一個(gè)一個(gè)的字符:英文字母、數(shù)字、空格,以及鍵盤上Python允許使用的其他字符。在Python里,把字符串定義為用單引號(hào)(')或雙引號(hào)(")括起來的一系列字符。例如'thisisabook.'、"thisisabook."、'thatisastring.'和"thatisastring."都是正確的字符串。1.字符串的定義設(shè)有變量str,將字符串'a0a1…ai?2ai-1'或字符串"a0a1…ai?2ai-1"賦給它,即:str=‘a(chǎn)0a1…ai?2ai-1’或str="a0a1…ai?2ai-1"那么,a0、a1、…、ai?2、ai-1就是組成該字符串的一個(gè)個(gè)字符,整個(gè)字符串就是變量str的值。若將單引號(hào)或雙引號(hào)內(nèi)的字符個(gè)數(shù)記為n,那么稱n為字符串的“長(zhǎng)度”。當(dāng)一個(gè)字符串的長(zhǎng)度n=0時(shí),稱其是一個(gè)“空串”,如str1="和str2=""都是空字符串。2.2.1Python的字符串字符串中每個(gè)字符的序號(hào)稱為它在字符串里的“索引”,不同的索引對(duì)應(yīng)字符串中的不同字符。要注意,Python規(guī)定,索引從0開始,而不是從1開始。因此,字符串中第1個(gè)字符的索引值為0,第2個(gè)字符的索引值是1,依次類推。字符串中任意多個(gè)連續(xù)字符組成的子序列,稱作該串的“子串”,字符串本身稱為“主串”。子串的第1個(gè)字符在主串中的位置,稱作該子串“在主串中的位置”。在字符串中使用引號(hào)時(shí),要注意兩點(diǎn):一是引號(hào)必須成對(duì)出現(xiàn),因此要關(guān)注程序中與左引號(hào)配對(duì)的右引號(hào)在什么位置;二是單引號(hào)只能與單引號(hào)配對(duì),雙引號(hào)只能與雙引號(hào)配對(duì),不能因?yàn)樗鼈兌伎梢远x字符串,就亂配對(duì)。在程序中,丟失“對(duì)”或亂配“對(duì)”,都會(huì)產(chǎn)生語(yǔ)法性的錯(cuò)誤。2.字符串的“索引”3.主串與子串4.引號(hào)的使用2.2.1Python的字符串圖2-91 message1='Isaid,"thisbookismyfavorite!"'2 print(massage1)3 message2='Isaid,"thisbookismyfavorite"4 print(message2)例如,編寫一個(gè)圖2-9所示的程序:第1行內(nèi)容中的引號(hào)都是配對(duì)的,第3行結(jié)束時(shí),丟失了右邊的單引號(hào)。程序投入運(yùn)行,結(jié)果如圖2-10所示,窗口上會(huì)輸出出錯(cuò)信息,顯示第3行出錯(cuò)了。圖2-102.2.1Python的字符串由此可以想象,當(dāng)Python接收到一個(gè)引號(hào)(單或者雙)后,就會(huì)記住它,在遇見了與其配對(duì)的引號(hào)后,就解除對(duì)該引號(hào)的檢查。如果在一條語(yǔ)句結(jié)束時(shí)還沒有遇到配對(duì)的引號(hào),那么就會(huì)認(rèn)為程序出錯(cuò),并立即輸出出錯(cuò)信息。其實(shí),從圖2-9可以看出,在第3行最后丟失右單引號(hào)而結(jié)束輸入時(shí),SublimeText就已經(jīng)用顏色發(fā)出警示了。【注意】Python允許撇號(hào)(')出現(xiàn)在字符串里,但只允許它出現(xiàn)在由雙引號(hào)定義的字符串里。如果撇號(hào)出現(xiàn)在由單引號(hào)定義的字符串里,Python就會(huì)誤將字符串里的撇號(hào)與左單引號(hào)配對(duì),但它又無法正確地確定該字符串的結(jié)束位置,于是只能輸出出錯(cuò)信息。2.2.1Python的字符串例如,程序中的一條語(yǔ)句:message='grasptheimportofTom'sremarks.'就是這種情況。當(dāng)Python執(zhí)行到該語(yǔ)句時(shí),就會(huì)出現(xiàn)錯(cuò)誤,如圖2-11所示。為了消除這個(gè)錯(cuò)誤,需要將語(yǔ)句中的單引號(hào)改為雙引號(hào),即:message="grasptheimportofTom'sremarks."圖2-11目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.2.2關(guān)于字符串的“方法”1.title()功能:將字符串變量里出現(xiàn)的每個(gè)單詞的首字母改為大寫。用法:<變量名>.title()例2-4輸入字符串“pleasewaitbeyondtheline”,將其賦給變量message,調(diào)用方法title(),如圖2-12所示。圖2-12從圖2-12所示的運(yùn)行結(jié)果看,可以有如下兩點(diǎn)分析。(1)該方法把字符串中的每一個(gè)單詞的首字母改為大寫。(2)該方法不改變字符串變量的原先內(nèi)容。也就是說,原字符串單詞的首字母仍保持調(diào)用title()前的狀態(tài)不變。2.2.2關(guān)于字符串的“方法”為了正確地使用Python里提供的方法,要強(qiáng)調(diào)以下兩點(diǎn)。(1)調(diào)用時(shí),變量名和方法名之間要用點(diǎn)號(hào)(.)隔開,實(shí)現(xiàn)變量對(duì)方法的調(diào)用。(2)方法名后跟隨的括號(hào)里面是用戶調(diào)用該方法時(shí),提供給方法的調(diào)用信息,即使不需要提供任何信息,括號(hào)也不能缺少。例如,字符串變量調(diào)用方法title()時(shí),雖然不需要提供什么額外調(diào)用的信息,但后面跟隨的括號(hào)絕不可不寫(見圖2-12)?!咀⒁狻吭趐rint()的括號(hào)里可以是變量對(duì)方法的調(diào)用。例如:message='pleasewaitbeyondtheline.'print(message.title())這時(shí),print()輸出的是:PleaseWaitBeyondTheLine▲▲▲2.2.2關(guān)于字符串的“方法”2.upper()功能:將字符串變量里的所有字母都改為大寫。用法:<變量名>.upper()3.lower()功能:將字符串變量里的所有字母都改為小寫。用法:<變量名>.lower()4.find()、rfind()(1)find()功能:find()用來查找子串在主串中的位置,返回子串首次出現(xiàn)在主串中時(shí)的第1個(gè)字符的索引編號(hào);主串中不存在該子串時(shí),查找失敗,返回-1。2.2.2關(guān)于字符串的“方法”用法:<變量名>.find(sub,start,end)其中:sub表示想要查找的子串,該參數(shù)不可省略,如果沒有找到,返回-1;start表示開始查找的索引位置,如省略該參數(shù),表示是從主串的開頭開始查找;end表示結(jié)束查找的索引位置,如果省略該參數(shù),表示從start開始,一直查找到主串末尾。功能:rfind()用來查找子串在主串中的位置,返回子串最后一次出現(xiàn)在主串中時(shí)的第1個(gè)字符的索引編號(hào);主串中不存在該子串時(shí),查找失敗,返回-1。(2)rfind()2.2.2關(guān)于字符串的“方法”用法:<變量名>.rfind(sub,start,end)其中:sub表示想要查找的子串,該參數(shù)不可省略,如果沒有找到,返回-1;start表示開始查找的索引位置,如省略該參數(shù),表示是從主串的開頭開始查找;end表示結(jié)束查找的索引位置,如果省略該參數(shù),表示從start開始,一直查找到主串末尾。例2-5在SublimeText工作窗口里,輸入如下小程序,如圖2-13所示:1 word="wealllookforwardtotheannualball."2 print(word)3 print(word.find('all'))4 print(word.find('all',7))2.2.2關(guān)于字符串的“方法”圖2-13第1條語(yǔ)句是把一個(gè)字符串賦給變量word;第2條語(yǔ)句表示輸出變量word的值;第3條語(yǔ)句表示在字符串word里,從索引為0的位置,開始查找子字符串“all”,直到字符串末尾;第4條語(yǔ)句表示在字符串word里,從索引為7的位置,開始查找子字符串“all”,直到字符串末尾。圖2-14所示是程序運(yùn)行的結(jié)果,第2條print語(yǔ)句的輸出結(jié)果是3,第3條print語(yǔ)句的輸出結(jié)果是35。由這個(gè)例子,我們應(yīng)該記住,Python規(guī)定的字符串中字符的索引順序是從0開始,而不是從1開始的。這一點(diǎn)非常重要。圖2-142.2.2關(guān)于字符串的“方法”圖2-15又如,創(chuàng)建一個(gè)字符串:s='tiger,老虎,pliers,老虎鉗,swan,天鵝絨'然后對(duì)該字符串s分別調(diào)用方法find()和rfind(),查找s中字符“老”、字符“s”、子串“qty”在s中第1次出現(xiàn)和最后一次出現(xiàn)的索引位置。如圖2-15所示為其結(jié)果。2.2.2關(guān)于字符串的“方法”功能:計(jì)算子串在主串中出現(xiàn)的次數(shù)。用法:<變量名>.count(sub,start,end)sub表示想要查找的子串,該參數(shù)不可省略,如果沒有找到,返回0;start表示開始查找的索引位置,如省略該參數(shù),表示是從主串的開頭開始查找;end表示結(jié)束查找的索引位置,如果省略該參數(shù),表示從start開始,一直查找到主串末尾。5.count()其中:例2-6在SublimeText里,編寫如下小程序:2.2.2關(guān)于字符串的“方法”word="wealllookforwardtotheannualball."print(word.count('o'))print(word.count('al'))print(word.count('x'))print(word.count('to',10,38))運(yùn)行后,里面的4條print語(yǔ)句各自輸出的結(jié)果是:4、3、0、1,如圖2-16所示。整個(gè)word里,有4個(gè)字符“o”,所以第1條print語(yǔ)句輸出4;整個(gè)word里,有3個(gè)子串“al”,所以第2條print語(yǔ)句輸出3;整個(gè)word里,沒有字符“x”,所以第3條print語(yǔ)句輸出0;在索引10到38的word范圍里,有1個(gè)子串“to”,所以第4條print語(yǔ)句輸出1。圖2-162.2.2關(guān)于字符串的“方法”功能:用新的子串替換字符串中出現(xiàn)的舊子串。用法:<變量名>.replace(old,new,count)old表示想要替換的舊子串;new表示用于替換的新子串;count表示規(guī)定的替換個(gè)數(shù),如果省略,則將由new替換字符串中全部的old。6.replace()其中:例2-7在SublimeText里,編寫如下小程序:2.2.2關(guān)于字符串的“方法”1 word="theduck,thecock,thedog,thetiger."2 print(word.replace('the','The'))3 print(word)4 print(word.replace('the','The',2))5 word=word.replace('the','The',2)6 print(word)運(yùn)行后,5條print語(yǔ)句輸出的結(jié)果如圖2-17所示。從第2條print語(yǔ)句的輸出結(jié)果可以看出,變量調(diào)用replace()方法,不改變?cè)兞恐械膬?nèi)容。但程序中的第6條語(yǔ)句word=word.replace('the','The',2)是對(duì)變量word重新賦值(回存),因此再輸出結(jié)果時(shí),word里面的內(nèi)容就變了。記住,要改變字符串變量的內(nèi)容,必須通過重新賦值(回存)才能達(dá)到這個(gè)目的。圖2-172.2.2關(guān)于字符串的“方法”功能:獲得字符串中字符的個(gè)數(shù),也就是字符串的長(zhǎng)度。用法:en(s)7.len()其中:s是字符串。Python3.x完全支持中文。在程序中,無論是數(shù)字、英文字母還是漢字,Python都以一個(gè)字符來對(duì)待和處理。在圖2-18所示的程序中:變量s='首都北京',其長(zhǎng)度為4個(gè)字符;變量s='Python程序設(shè)計(jì)基礎(chǔ)教程',其長(zhǎng)度為14個(gè)字符。圖2-182.2.2關(guān)于字符串的“方法”這幾個(gè)Python的方法,分別用來測(cè)試字符串是否為數(shù)字或字母、是否為字母、是否為數(shù)字字符、是否為空格字符、是否為大寫字母、是否為小寫字母。8.isalnum()、isalpha()、isdigit()、isspace()、isupper()、islower()>>>t1='1234abcd' ┆ >>>t2='wxyz'>>>t1.isalnum() ┆ >>>t2.islower()True ┆ True>>>t1.isalpha() ┆ >>>'4567'.isdigit()False ┆ True>>>'ABC'.isupper() ┆ >>>'BBN'.isspace()True ┆ False例如從上到下、從左到右:2.2.2關(guān)于字符串的“方法”功能:用來返回一個(gè)字符串在另一個(gè)字符串指定范圍內(nèi)第1次和最后一次出現(xiàn)的位置索引,如果不存在,則給出異常信息。用法:<字符串>.index(sub,start,end)9.index()、rindex()(1)index()sub表示要尋找的字符或字符串,該參數(shù)不可省略,若沒有找到,則給出出錯(cuò)信息“ValueError:substringnotfound”;start表示開始查找的索引位置,可省略;end表示結(jié)束查找的索引位置,可省略。其中:2.2.2關(guān)于字符串的“方法”功能:rindex()用來查找子串在主串中的位置,返回子串最后一次出現(xiàn)在主串時(shí),第一個(gè)字符的索引編號(hào);當(dāng)主串中不存在該子串時(shí),查找失敗,返回出錯(cuò)信息。用法:
<字符串>.rindex(sub,start,end)(2)rindex()sub表示要尋找的字符或字符串,該參數(shù)不可省略,若沒有找到,則給出錯(cuò)信息“ValueError:substringnotfound”;start表示開始查找的索引位置,可省略;end表示結(jié)束查找的索引位置,可省略。其中:這兩個(gè)方法與前面介紹的find()、rfind()方法很接近,同樣以索引位置來標(biāo)識(shí)查找的開始和結(jié)束位置。不同的是,find()、rfind()在字符串中沒有找到所需的子串時(shí),返回-1,而這里則是返回出錯(cuò)信息。在程序執(zhí)行過程中,如果返回的是出錯(cuò)信息,那么程序就會(huì)被中斷執(zhí)行;如果接收到的是-1,那么程序可以根據(jù)對(duì)-1的判斷,采取需要的后續(xù)措施。所以,這兩組不同的方法,在程序中有著不同的應(yīng)用場(chǎng)合。2.2.2關(guān)于字符串的“方法”圖2-19給出了一個(gè)字符串:str1='Thingmayhavegettoworsebeforetheygetbetter'對(duì)該字符串分別實(shí)行:str1.index('be')str1.rindex('be')str1.index('They')要注意,由于Python區(qū)分英文字母的大小寫,“they”和“They”是不同的子串,因此執(zhí)行str1.index('They')后,將返回出錯(cuò)信息:ValueError:substringnotfound圖2-19目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.2.3轉(zhuǎn)義字符表2-2Python的轉(zhuǎn)義字符表轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\\反斜杠\n換行\(zhòng)’單引號(hào)\a響鈴\”雙引號(hào)\b退后一格\ttab鍵\rEnter【注意】只有將反斜杠放在表2-2中所列出的單個(gè)字符的前面時(shí),整體才構(gòu)成一個(gè)轉(zhuǎn)義字符,否則不起任何作用。2.2.3轉(zhuǎn)義字符首先要說明,程序?qū)⒃緫?yīng)該寫成兩行的兩條語(yǔ)句,例如:1 str1='I\'mastudent.';print(str1)2 str2='Good\"Night!\"';print(str2)3 str3='Good\tNight!';print(str3)4 str4='Good\nNight!';print(str4)5 str5='Good\tBye-Bye!\a\a\a';print(str5)例2-8使用SublimeText編寫下面的小程序:str1='I\'mastudent.'print(str1)合并成了一行,中間用分號(hào)隔開,這在Python里是允許的。圖2-20所示是該例的運(yùn)行結(jié)果。該例中共有5條print語(yǔ)句,它們分別將前面定義的5個(gè)字符串變量str1~str5的內(nèi)容輸出。圖2-202.2.3轉(zhuǎn)義字符【分析】第1行:str1='I\'mastudent.'。用單引號(hào)定義字符串,且字符串里有撇號(hào)時(shí),完全可以利用轉(zhuǎn)義字符\'來解決這個(gè)問題,而無須使用雙引號(hào)定義字符串。第2行:str2='Good\"Night!\"',最外層是用單引號(hào)定義的字符串,它的里面又有一個(gè)用雙引號(hào)括起來的字符串,這對(duì)雙引號(hào)是通過兩個(gè)轉(zhuǎn)義字符\"表現(xiàn)。第3行:str3='Good\tNight!',用單引號(hào)定義了一個(gè)字符串GoodNight!。由于在該字符串的Good和Night中間,插入了一個(gè)轉(zhuǎn)義字符\t,于是在輸出時(shí),Good和Night之間的距離加大成了一個(gè)制表符的距離。第4行:str4=‘Good\nNight!’,與第3行相同,用單引號(hào)定義了字符串GoodNight!。不同的是它在Good和Night之間,插入了一個(gè)換行符\n,因此Good和Night!被輸出到不同的行。第5行:str5='Good\tBye-Bye!\a\a\a',Good和Bye-Bye之間插入了一個(gè)轉(zhuǎn)義字符\t,輸出時(shí)它們之間的距離被拉大。最后還安排了3個(gè)轉(zhuǎn)義字符\a,因此輸出結(jié)束時(shí),我們會(huì)聽到3聲鈴響。目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.2.4字符串的“切片”所謂字符串的“切片”,其實(shí)就是通過截取字符串的一個(gè)片段,形成一個(gè)子字符串。例如,有字符串I\'mastudent.,它的任何一個(gè)片段,如'mas、astude、ent.等,甚至它本身,都是它的一個(gè)“切片”。人們通過使用Python提供的方括號(hào)“[]”運(yùn)算符,即可提取一個(gè)字符串中單個(gè)字符或局部范圍的切片。start表示切片起始位置的索引;end表示切片終止位置的索引;step表示切片索引的增、減值(步長(zhǎng))。其中:用法:<字符串>[start:end:step]2.2.4字符串的“切片”關(guān)于切片,可以有如下簡(jiǎn)潔的使用方式(str代表字符串變量名):str[:n]表示從索引值0開始,直到索引值n-1結(jié)束,獲取字符串str中的切片;str[:]表示復(fù)制整個(gè)字符串str作為切片;str[::-1]表示將反轉(zhuǎn)后的整個(gè)字符串str作為切片。str[m]表示按指定索引值m,獲取字符串str中的某個(gè)切片;str[m:n]表示從索引值m到n-1,獲取字符串str中的某個(gè)切片;str[m:]表示從索引值m開始,直到字符串str結(jié)束,獲取切片;2.2.4字符串的“切片”這里解釋以下兩點(diǎn)。計(jì)算切片在字符串的位置時(shí),索引從start(即m)開始,切片包含了start指示的字符;切片到end(即n)結(jié)束,但切片不包含end指示的字符。所以,切片真正“切”下來的字符,是從索引值sart到end-1的部分。第一第二Python為字符串提供了負(fù)索引,負(fù)索引從字符串的末尾算起,到字符串的頭部結(jié)束。例如,字符串'I\'mastudent.'的索引和負(fù)索引如表2-3所示。2.2.4字符串的“切片”表2-3一個(gè)具體字符串的索引和負(fù)索引字符串I'm
a
student.索引012345678910111213負(fù)索引-14-13-12-11-10-9-8-7-6-5-4-3-2-1例2-9使用SublimeText編寫下面的小程序:1 str1='I\'mastudent.'2 print(str1[6])3 print(str1[1:9])4 print(str1[9:])5 print(str1[:])6 print(str1[::-1])7 print(str1[0:14:2])圖2-21所示是它的運(yùn)行結(jié)果。2.2.4字符串的“切片”第1條:print語(yǔ)句要求輸出字符串str1中索引值為6的字符,所以圖2-21里輸出字符s。注意:空格也是一個(gè)字符。第2條:print語(yǔ)句要求輸出字符串str1從索引值1開始到索引值9-1(即8)的字符,因此輸出的是’mastu。第3條:print語(yǔ)句要求輸出字符串str1從索引值9開始到字符串末尾的字符,因此輸出的是dent.。第4條:print語(yǔ)句要求復(fù)制整個(gè)字符串str1,因此輸出的是I’mastudent.。第5條:print語(yǔ)句要求將整個(gè)字符串反轉(zhuǎn)后輸出,因此輸出的是.tnedutsam’I。第6條:print語(yǔ)句要求從字符串str1頭開始到索引值14-1(即13)、每隔兩個(gè)字符截取一個(gè)字符形成的切片,即要求的是索引值0、2、4、6、8、10、12所對(duì)應(yīng)的字符,因此輸出的是Imasuet。Python不支持在原地修改該字符串。如果要變更一個(gè)字符串的內(nèi)容,只能創(chuàng)建一個(gè)新字符串,或重新對(duì)該字符串賦值(回存)。目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.3.1Python的整數(shù)1.十進(jìn)制整數(shù)的表示在Python里,十進(jìn)制整數(shù)就是通常意義下的整數(shù)。例如,112、2008、?58、0等都是正確的十進(jìn)制整數(shù)。2.二進(jìn)制整數(shù)的表示二進(jìn)制整數(shù)是由通常意義下的二進(jìn)制整數(shù)與前綴字符“0b”(數(shù)字0和小寫字母b)構(gòu)成。例如,0b110101、0b1010111、0b110101等都是Python里正確的二進(jìn)制整數(shù)。3.八進(jìn)制整數(shù)的表示八進(jìn)制整數(shù)是由通常意義下的八進(jìn)制整數(shù)與前綴字符“0o”(數(shù)字0和小寫字母o)構(gòu)成。例如,在Python中,0o112表示八進(jìn)制數(shù)112,它相當(dāng)于十進(jìn)制的74;?0o12表示八進(jìn)制數(shù)?12,也就是十進(jìn)制的?10;+0o56表示八進(jìn)制數(shù)+56,也就是十進(jìn)制的+46;而0o0則表示八進(jìn)制數(shù)0,也就是十進(jìn)制的0?!?.3.1Python的整數(shù)4.十六進(jìn)制整數(shù)的表示十六進(jìn)制整數(shù)是由通常意義下的十六進(jìn)制整數(shù)與前綴字符“0x”(數(shù)字0和小寫字母x)構(gòu)成。例如:0x15表示十六進(jìn)制數(shù)15,它相當(dāng)于十進(jìn)制的21;?0x5B表示十六進(jìn)制數(shù)?5B,也就是十進(jìn)制的?91;+0xFF表示十六進(jìn)制數(shù)+FF,它相當(dāng)于十進(jìn)制的+255;0x0表示十六進(jìn)制數(shù)0,也就是十進(jìn)制的0。注意,除十進(jìn)制外,Python在其他進(jìn)制整數(shù)前添加的前綴并不是該整數(shù)本身的內(nèi)容,沒有什么實(shí)際的意義,它只是一個(gè)標(biāo)識(shí),用以避免產(chǎn)生不必要的混淆。直接使用print()函數(shù)輸出數(shù)值時(shí),只能輸出十進(jìn)制數(shù),如果希望輸出其他進(jìn)制,就必須通過Python提供的數(shù)制轉(zhuǎn)換函數(shù)。2.3.1Python的整數(shù)表2-4Python的數(shù)制轉(zhuǎn)換函數(shù)例2-10使用SublimeText編寫下面的小程序:num=45print(bin(num),'\n')print(oct(num),'\n')print(hex(num))運(yùn)行結(jié)果,如下圖所示。Bin(十進(jìn)制數(shù))將十進(jìn)制數(shù)轉(zhuǎn)換成帶有前綴0b的二進(jìn)制數(shù)Oct(十進(jìn)制數(shù))將十進(jìn)制數(shù)轉(zhuǎn)換成帶有前綴0o的八進(jìn)制數(shù)Hex(十進(jìn)制數(shù))將十進(jìn)制數(shù)轉(zhuǎn)換成帶有前綴0x的十六進(jìn)制數(shù)從右圖中可以看出,十進(jìn)制整數(shù)45對(duì)應(yīng)的二進(jìn)制數(shù)是101101,對(duì)應(yīng)的八進(jìn)制數(shù)是55,對(duì)應(yīng)的十六進(jìn)制數(shù)是2d。目錄導(dǎo)航2.1變量2.1.1Python中變量的命名規(guī)則2.1.3變量賦值及函數(shù)id()2.2字符串2.1.2Python的關(guān)鍵字2.2.1Python的字符串2.2.2關(guān)于字符串的“方法”2.2.3轉(zhuǎn)義字符2.3數(shù)字常量2.4表達(dá)式2.2.4字符串的“切片”2.3.1Python的整數(shù)2.3.2Python的實(shí)數(shù)2.4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.4.2賦值運(yùn)算符與賦值表達(dá)式2.4.3條件運(yùn)算符與條件表達(dá)式2.4.4邏輯運(yùn)算符與邏輯表達(dá)式2.4.5按位運(yùn)算符2.3.2Python的實(shí)數(shù)實(shí)數(shù),就是通常所說
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度拆除工程風(fēng)險(xiǎn)評(píng)估與預(yù)案編制勞務(wù)承包合同
- 二零二五年度醫(yī)療場(chǎng)所裝修合同違約賠償及醫(yī)療安全標(biāo)準(zhǔn)
- 2024全媒體運(yùn)營(yíng)師綜合試題及答案分享
- 二零二五年度城市配送司機(jī)責(zé)任與消費(fèi)者權(quán)益保護(hù)協(xié)議
- 二零二五年度土地征收安置補(bǔ)償合同范本
- 智能集成土木工程應(yīng)用試題及答案
- 2025年度退租公寓房屋鑰匙及物品交接合同
- 2025年茶藝師職業(yè)職業(yè)發(fā)展試題及答案
- 2025年度汽車美容店汽車美容店員工績(jī)效考核合同
- 2025年度解除勞動(dòng)合同保密協(xié)議及知識(shí)產(chǎn)權(quán)保護(hù)專項(xiàng)合同
- 《民航地面服務(wù)與管理》項(xiàng)目二
- 部編版七年級(jí)道德與法治上冊(cè)第一單元復(fù)習(xí)教案
- 壓力管道安全風(fēng)險(xiǎn)管控清單格式
- 23S519 小型排水構(gòu)筑物
- 華中師范大學(xué)矢量logo課件
- 培訓(xùn)績(jī)效管理與績(jī)效評(píng)價(jià)課件
- 輸血相關(guān)制度及流程-課件
- DGT252-2021農(nóng)機(jī)播種作業(yè)監(jiān)測(cè)終端
- 抽水蓄能式水電站機(jī)組巡檢維護(hù)保養(yǎng)與安全管理方案
- 高中英語(yǔ)新外研版選擇性必修四unit2Tuesdays with Morrie課件(精編)
- 《中華民族一家親》評(píng)課
評(píng)論
0/150
提交評(píng)論