




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第1章初識Python《Python程序設(shè)計現(xiàn)代方法(第2版)》第1章初識Python.pptx第2章Python基礎(chǔ)語法.pptx第3章字符串.pptx第4章流程控制.pptx第5章組合數(shù)據(jù)類型.pptx第6章函數(shù)與模塊.pptx第7章常用庫的使用.pptx第8章文件和數(shù)據(jù)格式化.pptx第9章面向?qū)ο缶幊?pptx第10章綜合項目-學(xué)生管理系統(tǒng).pptx學(xué)習(xí)目標(biāo)/Target
了解Python語言,能夠說出Python語言有哪些優(yōu)點和缺點
了解Python語言的應(yīng)用領(lǐng)域,能夠至少列舉3個應(yīng)用領(lǐng)域
掌握Python解釋器的安裝方式,能夠在計算機中安裝Python解釋器學(xué)習(xí)目標(biāo)/Target
掌握集成開發(fā)環(huán)境,能夠熟練安裝PyCharm工具并使用該工具編寫代碼
熟悉程序的開發(fā)流程及編寫方法,能夠規(guī)范進行程序開發(fā)
掌握Python程序的運行方式,能夠通過交互式和文件式運行Python程序章節(jié)概述/SummaryPython語言自問世以來,憑借簡單易學(xué)的語法、豐富的類庫、良好的可移植性等特點,一躍成為許多數(shù)據(jù)科學(xué)家和人工智能研究者的首選編程語言。目前,人工智能在各行業(yè)中的應(yīng)用越來越廣泛,發(fā)展前景非常廣闊,對于想進入人工智能領(lǐng)域的人來說,學(xué)習(xí)Python至關(guān)重要。本章將帶領(lǐng)大家簡單地認(rèn)識Python語言,以及搭建Python的開發(fā)環(huán)境。目錄/Contents01Python概述Python環(huán)境配置集成開發(fā)環(huán)境程序的開發(fā)與編寫實例:溫度轉(zhuǎn)換02030405Python概述1.11.1.1
Python語言簡介Python是一種跨平臺的面向?qū)ο缶幊陶Z言,它最初被設(shè)計用于編寫自動化腳本。隨著版本的不斷更新以及新功能的不斷添加,目前Python已經(jīng)被用于開發(fā)獨立的大型項目。1.1.1
Python語言簡介VS優(yōu)點簡潔語法優(yōu)美簡單易學(xué)開源可移植擴展性良好類庫豐富通用靈活良好的中文支持執(zhí)行效率不夠高。相對于編譯型語言來說,Python的運行速度較慢。雖然Python程序的運行速度可以通過一些技巧提高,但仍存在一定的性能瓶頸,不能滿足某些高性能需求。
缺點1.1.2
Python語言的應(yīng)用領(lǐng)域網(wǎng)絡(luò)爬蟲開發(fā)Python擁有良好的網(wǎng)絡(luò)支持,具備相對完善的數(shù)據(jù)分析與數(shù)據(jù)處理庫,兼具靈活簡潔的特點,被廣泛應(yīng)用于網(wǎng)絡(luò)爬蟲領(lǐng)域之中。人工智能Python是人工智能領(lǐng)域的主流編程語言,人工智能領(lǐng)域神經(jīng)網(wǎng)絡(luò)方向流行的神經(jīng)網(wǎng)絡(luò)框架PyTorch就采用了Python語言。游戲開發(fā)Python標(biāo)準(zhǔn)庫提供了pygame模塊,用戶使用該模塊可以制作2D游戲。Web開發(fā)Python是Web開發(fā)的主流語言之一,類庫豐富、使用方便,能夠為一個需求提供多種方案。科學(xué)計算與數(shù)據(jù)分析Python不僅支持各種數(shù)學(xué)運算,還可以繪制高質(zhì)量的2D和3D圖像。自動化運維Python常被用于編寫腳本程序,以控制系統(tǒng),實現(xiàn)自動化運維Python環(huán)境配置1.21.2.1安裝Python解釋器(1)在瀏覽器中訪問Python官網(wǎng)的下載頁面。
安裝步驟1.2.1安裝Python解釋器(2)單擊下載頁面中鏈接文本“Windows”,進入Windows版本安裝包下載頁面,根據(jù)操作系統(tǒng)版本選擇相應(yīng)軟件包。
安裝步驟1.2.1安裝Python解釋器(3)單擊鏈接文本“Windowsinstaller(64-bit)”,開始下載版本為3.11.3、后綴名是.exe形式的安裝包。下載完成后,雙擊安裝包打開InstallPython3.11.3(64-bit)界面。安裝步驟1.2.1安裝Python解釋器(4)勾選“Addpython.exetoPATH”選項,單擊“InstallNow”后進入SetupProgress界面。安裝步驟1.2.1安裝Python解釋器(5)安裝完成后會自動進入Setupwassuccessful界面。
安裝步驟1.2.1安裝Python解釋器(6)在【開始】菜單欄中搜索“python”,找到并單擊Python3.11(64-bit)打開解釋器窗口。安裝步驟用戶也可在命令窗口中進入Python環(huán)境,具體操作為:打開命令窗口,在命令窗口的提示符“>>>”后輸入“python”,按下回車鍵進入進入Python環(huán)境。
多學(xué)一招:手動配置環(huán)境變量配置方式(1)在桌面“此電腦”上方右擊彈出右鍵菜單,單擊“屬性”選項打開系統(tǒng)窗口,單擊該窗口左側(cè)選項列表中的“高級系統(tǒng)設(shè)置”,打開系統(tǒng)屬性窗口。
多學(xué)一招:手動配置環(huán)境變量配置方式(2)單擊圖中的“環(huán)境變量”按鈕,打開環(huán)境變量窗口。多學(xué)一招:手動配置環(huán)境變量配置方式(3)在系統(tǒng)變量”里找到環(huán)境變量“Path”并雙擊,打開編輯環(huán)境變量對話框。多學(xué)一招:手動配置環(huán)境變量配置方式(4)在編輯環(huán)境變量對話框中單擊“新建”按鈕,輸入Python解釋器的安裝路徑。(5)單擊“確定”按鈕,完成環(huán)境變量的配置。1.2.2
Python程序的運行方式Python程序的運行方式有兩種,分別是交互式和文件式。21交互式是指Python解釋器逐行接收Python代碼并即時響應(yīng)。交互式文件式是指用戶將Python代碼保存在后綴名為.py的文件中,再啟動Python解釋器批量運行代碼。文件式1.2.2
Python程序的運行方式打開命令行工具進入Python環(huán)境,在命令提示符“>>>”的后面輸入如下一行代碼:1.交互式按下回車鍵,命令窗口立刻在提示符的下一行輸出了運行結(jié)果。print("書山有路勤為徑,學(xué)海無涯苦作舟")書山有路勤為徑,學(xué)海無涯苦作舟1.2.2
Python程序的運行方式(1)創(chuàng)建一個文本文件,在該文件中寫入一行Python代碼。(2)將文件另存為hello.txt文件,指定編碼方式為UTF-8,并將文件的后綴名修改為.py。(3)打開命令窗口,在命令窗口的命令提示符“>”后輸入命令“pythonhello.py”,按下回車鍵運行hello.py文件。2.文件式集成開發(fā)環(huán)境1.31.3.1
PyCharm的下載安裝PyCharm是由JetBrains打造的一款集成開發(fā)環(huán)境,它具備一整套工具,可以幫助用戶使用Python語言開發(fā)時提高效率。1.3.1
PyCharm的下載安裝PyCharm有兩個版本,分別是Professional和Community。Professional版本的特點(1)輕量級的PythonIDE,只支持Python開發(fā);(2)免費、開源、集成Apache2的許可證;(3)智能編輯器、調(diào)試器、支持重構(gòu)和錯誤檢查,集成VCS版本控制。2.
Community版本的特點(1)提供PythonIDE的所有功能,支持Web開發(fā);(2)支持Django、Flask、GoogleApp引擎、Pyramid和web2py;(3)支持JavaScript、CoffeeScript、TypeScript、CSS和Cython等;(4)支持遠程開發(fā)、Python分析器、數(shù)據(jù)庫和SQL語句。1.3.1
PyCharm的下載安裝安裝步驟(1)雙擊PyCharm安裝包,打開WelcometoPyCharmCommunityEditionSetup界面。1.3.1
PyCharm的下載安裝安裝步驟(2)單擊“Next”按鈕,進入ChooseInstallLocation界面,在該界面設(shè)置PyCharm的安裝路徑。1.3.1
PyCharm的下載安裝安裝步驟(3)在ChooseInstallLocation界面保持默認(rèn)配置,單擊“Next”按鈕,進入InstallationOptions界面,在該界面可以配置PyCharm的選項。1.3.1
PyCharm的下載安裝安裝步驟(4)在InstallationOptions的界面勾選所有選項,單擊“Next”按鈕,進入ChooseStartMenuFolder界面。1.3.1
PyCharm的下載安裝安裝步驟(5)單擊ChooseStartMenuFolder界面的“Install”按鈕,進入Installing界面,該界面中會以進度條的形式顯示PyCharm的安裝進度。1.3.1
PyCharm的下載安裝安裝步驟(6)等待片刻后PyCharm安裝完成,自動進入Completing
PyCharmCommunityEditionSetup界面。
1.3.2
PyCharm的基本使用完成PyCharm的安裝后,雙擊桌面的快捷方式圖標(biāo),打開WelcometoPyCharm窗口。
1.3.2
PyCharm的基本使用使用步驟(1)單擊窗口左側(cè)的Customize菜單項打開自定義配置面板,在該面板中選擇顏色主題為Light。1.3.2
PyCharm的基本使用使用步驟(2)單擊窗口左側(cè)的Projects菜單項,切換回項目面板,單擊該面板中的“NewProject”按鈕進入NewProject窗口。1.3.2
PyCharm的基本使用使用步驟(3)填寫項目的路徑為D:\PythonProject,名稱為first_proj;選中Previouslyconfiguredinterpreter單選框,從Interpreter下拉列表中選擇之前安裝的版本為3.11.3的解釋器;取消勾選Createamain.pywelcomescript復(fù)選框。1.3.2
PyCharm的基本使用使用步驟(4)單擊“Create”按鈕會在D:\PythonProject目錄下創(chuàng)建一個名稱為first_proj的項目,并進入項目管理窗口。
1.3.2
PyCharm的基本使用使用步驟(5)單擊左上方標(biāo)注的文件夾圖標(biāo),彈出項目的目錄結(jié)構(gòu)。
1.3.2
PyCharm的基本使用使用步驟(6)選中first_proj項目的根目錄右擊,在彈出的下拉菜單中選擇“New”→“PythonFile”,彈出NewPythonfile窗口,用于給項目添加用于保存代碼的Python文件。1.3.2
PyCharm的基本使用使用步驟(7)在Name文本框中,填寫Python文件的名稱為first,按下回車鍵后會在first_proj項目的根目錄下添加first.py文件。
1.3.2
PyCharm的基本使用使用步驟(8)在first.py文件中編寫如下代碼:print("書山有路勤為徑,學(xué)海無涯苦作舟")(9)運行代碼。程序的開發(fā)與編寫1.41.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護1.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護編寫程序的目的是控制計算機解決問題,在解決問題之前,應(yīng)充分了解要解決的問題,明確真正的需求,避免因理解偏差而設(shè)計出不符合需求的程序。1.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護描述程序要“做什么”,此時無需考慮程序具體要“怎么做”,例如對于“小李計劃從家出發(fā)到學(xué)?!边@一問題,只需要確定核心人物“小李”從“家里出發(fā)”,最終“抵達學(xué)?!保劣谛±钊绾螌崿F(xiàn)“家”到“學(xué)?!边@一地址的轉(zhuǎn)換,這里不需考慮。1.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護這一階段需要考慮“怎么做”,即確定程序的結(jié)構(gòu)和流程。對于簡單的程序,應(yīng)先使用IPO方法描述,再著重設(shè)計算法即可。對于復(fù)雜的程序,應(yīng)運用“化整為零,分而治之”的思想,先將整個程序劃分為多個“小模塊”,每個小模塊實現(xiàn)小的功能,將每個小功能當(dāng)做一個獨立的處理過程,為其設(shè)計算法,再設(shè)計可以聯(lián)系各個小功能的流程。1.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護使用編程語言編寫程序。這一階段首要考慮的是編程語言的選擇,不同的編程語言在性能、開發(fā)周期、可維護性等方面有一定的差異,實際開發(fā)中會對性能、周期、可維護性等因素進行一定考量。1.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護運行程序,測試程序的功能,判斷功能是否與預(yù)期相符,是否存在疏漏。如果程序存在不足,應(yīng)著手定位和修復(fù)(即“調(diào)試”)程序。在這一過程中應(yīng)做盡量多的考量與測試。1.4.1程序開發(fā)流程為了保證程序與問題統(tǒng)一,也保證程序能長期穩(wěn)定使用,人們將程序的開發(fā)過程分為6個階段。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護程序總不會完全完成,哪怕它已投入使用,后續(xù)需求方可能提出新的需求,此時需要為程序添加新功能,對其進行升級;程序使用時可能會產(chǎn)生問題,或發(fā)現(xiàn)漏洞,此時需要完善程序,對其進行維護。1.4.2程序編寫的基本方法輸入Input處理Process輸出Output無論是解決四則運算的小規(guī)模程序,還是航天器使用的復(fù)雜的控制程序,都遵循輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)這一運算模式。這一基礎(chǔ)的運算模式形成了基本的程序編寫方法IPO分別是輸入(Input)、處理(Process)和輸出(Output)。1.4.2程序編寫的基本方法輸入Input01控制臺輸入。02隨機數(shù)據(jù)輸入。03內(nèi)部變量輸入。04文件輸入。05交互界面輸入。06網(wǎng)絡(luò)輸入。1.4.2程序編寫的基本方法處理Process處理是程序的核心,它蘊含程序的主要邏輯。程序中實現(xiàn)處理功能的方法也被稱為“算法(Algorithm)”,算法是程序的靈魂。實現(xiàn)一個功能的算法有很多,但不同的算法性能有高有低,選擇優(yōu)秀的算法是提高程序效率的重要途徑之一。1.4.2程序編寫的基本方法輸出Output01控制臺輸出。02系統(tǒng)內(nèi)部變量輸出。03文件輸出。04圖形輸出。05網(wǎng)絡(luò)輸出。1.4.2程序編寫的基本方法以計算圓的面積的問題為例,使用IPO對該問題進行描述,具體如下:
實例:溫度轉(zhuǎn)換1.51.5實例:溫度轉(zhuǎn)換結(jié)合1.4節(jié)介紹的程序編寫與設(shè)計方法,分6個階段設(shè)計與編寫解決“攝氏度與開氏度相互轉(zhuǎn)換”這一問題的程序。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護對“攝氏度與開氏度相互轉(zhuǎn)換”這一問題進行分析,得出“攝氏度轉(zhuǎn)換開氏度”和“開氏度轉(zhuǎn)換攝氏度”都是程序應(yīng)解決的問題。1.5實例:溫度轉(zhuǎn)換輸入:輸入由C標(biāo)識的攝氏度數(shù)值,或由K標(biāo)識的開氏度數(shù)值。處理:根據(jù)標(biāo)識選擇合適的規(guī)則對溫度數(shù)值進行轉(zhuǎn)換。輸出:將轉(zhuǎn)換后的溫度數(shù)值輸出。分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護結(jié)合1.4節(jié)介紹的程序編寫與設(shè)計方法,分6個階段設(shè)計與編寫解決“攝氏度與開氏度相互轉(zhuǎn)換”這一問題的程序。1.5實例:溫度轉(zhuǎn)換開氏度=攝氏度+273.15攝氏度=開氏度-273.15分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護結(jié)合1.4節(jié)介紹的程序編寫與設(shè)計方法,分6個階段設(shè)計與編寫解決“攝氏度與開氏度相互轉(zhuǎn)換”這一問題的程序。1.5實例:溫度轉(zhuǎn)換分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護結(jié)合1.4節(jié)介紹的程序編寫與設(shè)計方法,分6個階段設(shè)計與編寫解決“攝氏度與開氏度相互轉(zhuǎn)換”這一問題的程序。1.5實例:溫度轉(zhuǎn)換分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護①輸入溫度值10與標(biāo)識C。②輸入溫度值10與標(biāo)識K。③僅輸入溫度值結(jié)合1.4節(jié)介紹的程序編寫與設(shè)計方法,分6個階段設(shè)計與編寫解決“攝氏度與開氏度相互轉(zhuǎn)換”這一問題的程序。1.5實例:溫度轉(zhuǎn)換分析問題劃分邊界程序設(shè)計編寫程序測試與調(diào)試升級與維護為保證程序的文檔與可持續(xù)使用,程序需要被日常維護;。隨著平臺的更換、使用方法的變更、功能的完善,程序需要被升級。就此處實現(xiàn)的程序而言,程序開發(fā)人員應(yīng)保證程序總能保證攝氏度與開氏度的正確兌換,同時將更多單位溫度的轉(zhuǎn)換、更友好的用戶界面等等作為程序改善升級的方向。結(jié)合1.4節(jié)介紹的程序編寫與設(shè)計方法,分6個階段設(shè)計與編寫解決“攝氏度與開氏度相互轉(zhuǎn)換”這一問題的程序。本章小結(jié)本章首先介紹了Python語言,包括該語言的特點以及應(yīng)用領(lǐng)域,然后介紹了在Windows系統(tǒng)中配置Python開發(fā)環(huán)境、運行Python程序的方法,以及集成開發(fā)環(huán)境PyCharm的安裝與使用,最后簡單介紹了程序開發(fā)流程與編寫方式。通過本章的學(xué)習(xí),讀者能夠?qū)ython語言有所了解,熟練搭建Python開發(fā)環(huán)境以及運行Python程序,并熟悉程序設(shè)計的流程與編寫程序的基本方法。第2章Python基礎(chǔ)語法《Python程序設(shè)計現(xiàn)代方法(第2版)》學(xué)習(xí)目標(biāo)/Target
熟悉Python語言的代碼風(fēng)格,能夠說出縮進、注釋、語句換行基本規(guī)范
熟悉標(biāo)識符的命名規(guī)則,能夠在程序中正確命名標(biāo)識符
熟悉關(guān)鍵字,能夠正確識別程序中的關(guān)鍵字
熟悉變量的定義方式,能夠在程序中定義合法的變量學(xué)習(xí)目標(biāo)/Target
熟悉數(shù)據(jù)類型的分類,能夠使用變量保存數(shù)字類型的數(shù)據(jù)
熟悉數(shù)據(jù)類型的查看方式,能夠通過type()函數(shù)查看變量數(shù)據(jù)類型
熟悉數(shù)字類型的轉(zhuǎn)換方式,能夠?qū)崿F(xiàn)數(shù)字?jǐn)?shù)據(jù)類型的轉(zhuǎn)換
熟悉運算符的用法,能夠使用運算符進行數(shù)值運算學(xué)習(xí)目標(biāo)/Target
熟悉運算符優(yōu)先級,能夠在數(shù)值運算中正確使用運算符
熟悉input()函數(shù)的使用,能夠通過input()函數(shù)接收從鍵盤輸入的數(shù)據(jù)
熟悉print()函數(shù)的使用,能夠通過print()函數(shù)以不同的形式輸出數(shù)據(jù)章節(jié)概述/Summary九層之臺,起于累土。如果要開發(fā)Python程序,那么需要提前掌握Python語言的基礎(chǔ)語法。本章將針對Python的代碼風(fēng)格、標(biāo)識符、關(guān)鍵字、變量、數(shù)據(jù)類型、數(shù)字運算、基本輸入和輸出這些基礎(chǔ)語法進行詳細(xì)地講解。目錄/Contents01代碼風(fēng)格標(biāo)識符和關(guān)鍵字變量數(shù)據(jù)類型020304目錄/Contents05數(shù)字運算基本輸入和輸出實例:毛遂自薦0607代碼風(fēng)格2.12.1.1注釋注釋是代碼中穿插的輔助性文字,用于標(biāo)識代碼的作者、創(chuàng)建時間、含義或功能等信息,以提高代碼的可讀性。注釋的內(nèi)容會被Python解釋器自動忽略,并不會被執(zhí)行。
2.1.1注釋1.單行注釋單行注釋以“#”開頭,“#”后面的內(nèi)容用于說明當(dāng)前行或當(dāng)前行之后代碼的功能,“#”與內(nèi)容之間有一個空格。單行注釋既可以單獨占一行,也可以放在要標(biāo)識的代碼右側(cè),跟代碼位于同一行。若單行注釋與代碼位于同一行,則“#”與代碼之間建議至少保留兩個空格。#我是注釋print("志當(dāng)存高遠")#我也是注釋2.1.1注釋2.多行注釋多行注釋是由三對單引號或三對雙引號包裹的語句。
'''博學(xué)之審問之慎思之明辯之篤行之'''"""勤能補拙是良訓(xùn)一分辛苦一分才"""2.1.1注釋多行注釋不允許嵌套使用,即三對單引號包裹的語句中不允許再次出現(xiàn)三對單引號,三對雙引號包裹的語句中不允許再次出現(xiàn)三對雙引號。'''少壯不努力'''
老大徒傷悲''''''2.1.1注釋當(dāng)“#”、單引號、雙引號這幾個符號作為字符串的一部分時,便不能再將它們視為注釋標(biāo)記,而應(yīng)該作為正常代碼的一部分。
print("#是單行注釋的開始標(biāo)記")2.1.2縮進Python使用縮進控制代碼的邏輯關(guān)系和層次結(jié)構(gòu)。Python中使用Tab鍵或者空格控制縮進,但不允許Tab鍵和空格鍵混合使用,其中空格是推薦的控制縮進方法,一般情況下使用4個空格表示一個縮進。同一級別的代碼塊具有相同的縮進。第2行和第5行代碼是頂行的,它們屬于同一級別;第3~4行代碼前面有4個空格,它們從屬第2行代碼;第6~7行代碼前面有4個空格,它們從屬第5行代碼。2.1.3語句換行Python官方建議一行代碼的長度不要超過79個字符。語句換行主要有兩種方式:
①在代碼所在行的末尾加上符號“\”。
②使用小括號包裹代碼。side_01=3;side_02=4;side_03=5result=side_01+side_02>side_03or\side_02+side_03>side_01or\side_01+side_03>side_02side_01=3;side_02=4;side_03=5result=(side_01+side_02>side_03orside_02+side_03>side_01orside_01+side_03>side_02)在行的末尾加上符號“\”實現(xiàn)換行使用小括號包裹代碼實現(xiàn)換行標(biāo)識符和關(guān)鍵字2.22.2.1標(biāo)識符標(biāo)識符是一些符號,用于對程序中的數(shù)據(jù)進行標(biāo)識。Python中的標(biāo)識符在命名時,需要遵守一定的命名規(guī)則,具體如下。Python中的標(biāo)識符由字母、數(shù)字或下畫線組成,且不能以數(shù)字開頭。Python中的標(biāo)識符區(qū)分大小寫。例如,andy和Andy是不同的標(biāo)識符。Python不允許開發(fā)人員使用關(guān)鍵字作為標(biāo)識符。student
#全部是小寫字母LEVEL#全部是大寫字母Flower#大寫字母、小寫字母混合Flower123#大寫字母、小寫字母、數(shù)字混合Flower_123#大寫字母、小寫字母、數(shù)字、下畫線混合from#12#標(biāo)識符不能包含#符號2ndObj#標(biāo)識符不能以數(shù)字開頭if #if是關(guān)鍵字,不能作為標(biāo)識符合法不合法除以上規(guī)則外,Python對于標(biāo)識符的命名還有以下兩點建議。標(biāo)識符應(yīng)有意義,盡量做到看一眼便知道標(biāo)識符的含義,例如使用name標(biāo)識姓名。變量名使用小寫的單個單詞或由下畫線連接的多個單詞,如name、native_place。常量名使用大寫的單個單詞或由下畫線連接的多個單詞,如ORDER_LIST_LIMIT、GAME_LEVEL。模塊名、函數(shù)名使用小寫的單個單詞或由下畫線連接的多個單詞,如low_with_under、generate_random_numbers。類名使用大寫字母開頭的單個或多個單詞,如Cat、CapWorld。1.見名知意2.命名格式2.2.1標(biāo)識符2.2.2關(guān)鍵字關(guān)鍵字又稱保留字,它是Python語言預(yù)先定義好、具有特定含義的標(biāo)識符,用于記錄特殊值或標(biāo)識程序結(jié)構(gòu)。FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield2.2.2關(guān)鍵字每個關(guān)鍵字都有不同的作用,通過“help("關(guān)鍵字")”可查看關(guān)鍵字的說明。例如,查看關(guān)鍵字pass的說明,示例代碼如下:help('pass')The"pass"statement********************pass_stmt::="pass”
"pass"isanulloperation—whenitisexecuted,nothinghappens.Itisusefulasaplaceholderwhenastatementisrequiredsyntactically,butnocodeneedstobeexecuted,forexample:
deff(arg):pass#afunctionthatdoesnothing(yet)
classC:pass#aclasswithnomethods(yet)運行結(jié)果變量2.32.3變量程序運行期間可能會用到一些臨時數(shù)據(jù),程序會將這些數(shù)據(jù)保存在計算機的內(nèi)存單元中,為了區(qū)分這些存放了數(shù)據(jù)的內(nèi)存單元,每個內(nèi)存單元用唯一的標(biāo)識符進行標(biāo)識。這些內(nèi)存單元稱為變量,標(biāo)識內(nèi)存單元的標(biāo)識符稱為變量名,內(nèi)存單元里面存儲的數(shù)據(jù)稱為變量的值。定義變量的語法格式:
變量名=值定義變量的示例:a=5
#將數(shù)字5賦給變量ab=3+5 #將表達式3+5的運算結(jié)果8賦給變量bc=a #將變量a的值賦給變量c2.3變量Python中還可以同時連續(xù)為多個變量賦同一個值,語法格式如下:
變量名1=變量名2=...=值例如,同時給變量a、b、c、d賦同一個值,具體代碼如下:a=b=c=d=20d=20c=db=ca=b等價于2.3變量Python中也可以連續(xù)為多個變量賦不同的值,語法格式如下:
變量名1,變量名2,...=值1,值2,...例如,同時給變量a、b、c、d賦不同的值,具體代碼如下:a,b,c,d=0,1,2,3a=0b=1c=2d=3等價于多學(xué)一招:常量常量是指程序運行過程中值不變的量,比如圓周率就是一個常量。Python中其實并沒有嚴(yán)格意義上的常量,它沒有語法規(guī)則來限制開發(fā)人員改變一個常量的值。為此,Python約定把程序運行過程中不會改變的變量稱為常量,常量通常放在程序的開頭位置,用大寫的單個單詞或由下畫線連接的多個單詞表示常量名。例如,分別定義表示π和圓半徑的常量,代碼如下:PI=3.1415926CIRCLE_R=10數(shù)據(jù)類型2.42.4.1數(shù)據(jù)類型分類Python的基礎(chǔ)數(shù)據(jù)類型主要分為兩類,分別是數(shù)字類型和組合數(shù)據(jù)類型。2.4.1數(shù)據(jù)類型分類1.整型整型用于表示整數(shù),比如100、-100等。整型數(shù)據(jù)常用的計數(shù)方式有4種,分別是二進制(以“0B”或“0b”開頭)、八進制(以數(shù)字“0o”或“0O”開頭)、十進制和十六進制(以“0x”或“0X”開頭),默認(rèn)使用的計數(shù)方式是十進制。5 #十進制0b101 #二進制0o5 #八進制0x5 #十六進制2.4.1數(shù)據(jù)類型分類2.浮點型浮點型用于表示實數(shù),比如1.23、3.1415926等。Python中浮點型數(shù)據(jù)一般由整數(shù)和小數(shù)組成,小數(shù)部分可以是0。1.23,10.0,36.5
-3.14e2,3.14e-3#合法的浮點型314e,e2,3.14e-1.5#非法的浮點型2.4.1數(shù)據(jù)類型分類2.浮點型Python中的浮點型是雙精度的,每個浮點型數(shù)據(jù)占8個字節(jié)(即64位),且遵守IEEE標(biāo)準(zhǔn),其中52位用于存儲尾數(shù),11位用于存儲階碼,剩余1位用于存儲符號。Python中浮點型的取值范圍為-1.8e308~1.8e308,若超出這個范圍,Python會將值視為無窮大(inf)或無窮小(-inf)。例如,在命令窗口進入Python環(huán)境,分別輸入兩個超過取值范圍的值,具體如下:print(3.14e500)print(-3.14e500)inf-inf運行結(jié)果2.4.1數(shù)據(jù)類型分類2.浮點型Python中的浮點型數(shù)據(jù)提供了17位數(shù)字的精度,但是計算機只能保證15個數(shù)字的精度。一旦浮點型數(shù)據(jù)的位數(shù)超過了17位,之后的數(shù)據(jù)就會被截斷。print(3.12347698902871978504)#浮點數(shù)的有效位超過17位運行結(jié)果例如,在控制臺窗口輸入一個精度超過17位的浮點數(shù)。
3.123476989028722.4.1數(shù)據(jù)類型分類3.復(fù)數(shù)類型復(fù)數(shù)類型用于表示復(fù)數(shù),復(fù)數(shù)由實部和虛部組成,一般形式為real+imagj或real+imagJ,其中real是實部,imag是虛部,j或J是虛部單位,虛部不能單獨存在。例如,創(chuàng)建一個實部是3虛部是2的復(fù)數(shù),如下所示:
a=3+2jprint(a)(3+2j)運行結(jié)果2.4.1數(shù)據(jù)類型分類3.復(fù)數(shù)類型通過complex()函數(shù)創(chuàng)建復(fù)數(shù)類型的數(shù)據(jù),該函數(shù)的使用方式為complex(實部,虛部),我們需要根據(jù)需要傳入實部和虛部。若是沒有傳入虛部,則虛部默認(rèn)為0。示例如下:a=complex(3,2)#創(chuàng)建復(fù)數(shù),分別傳入實部和虛部print(a)b=complex(5)#創(chuàng)建復(fù)數(shù),只傳入實部print(b)(3+2j)(5+0j)運行結(jié)果通過字符“.”可以單獨獲取復(fù)數(shù)的實部和虛部。print(a.real)#獲取復(fù)數(shù)的實部print(a.imag)#獲取復(fù)數(shù)的虛部運行結(jié)果3.02.02.4.1數(shù)據(jù)類型分類4.布爾類型布爾類型用于表示邏輯判斷的真或假,真對應(yīng)的取值是True,假對應(yīng)的取值是False,常見于控制程序的執(zhí)行流程的場景。Python中邏輯判斷后得到的布爾值都是False的情況:None;任何為0的數(shù)字類型,如0、0.0、0j;任何空的組合數(shù)據(jù)類型,如空字符串、空元組、空列表、空字典;2.4.1數(shù)據(jù)類型分類4.布爾類型布爾值可以使用bool()函數(shù)查看。
print(bool(‘
’))
#查看空字符串''的布爾值print(bool(10))
#查看整型數(shù)據(jù)10的布爾值print(bool(0.0))
#查看浮點型數(shù)據(jù)0.0的布爾值FalseTrueFalse運行結(jié)果2.4.1數(shù)據(jù)類型分類5.字符串類型字符串是由一系列字符組成的序列,包括字母、數(shù)字、標(biāo)點符號等。Python中一般使用單引號、雙引號或者三引號(三單引號或三雙引號)創(chuàng)建字符串。'Failureisthemotherofsuccess' #這是一個字符串"Failureisthemotherofsuccess" #這也是一個字符串2.4.1數(shù)據(jù)類型分類6.元組類型元組可以保存任意數(shù)量、任意類型的元素,但這些元素不可以被修改。Python中一般使用小括號創(chuàng)建元組,元組中的元素以逗號分隔。(1,4.5,'python') #這是一個元組2.4.1數(shù)據(jù)類型分類7.列表類型列表可以保存任意數(shù)量、任意類型的元素,且這些元素可以被修改。Python中一般使用中括號創(chuàng)建列表,列表中的元素以逗號分隔,[1,4.5,‘python’] #這是一個列表2.4.1數(shù)據(jù)類型分類8.集合類型集合可以保存任意數(shù)量、任意類型的元素,但這些元素是無序的且唯一的。Python中一般使用大括號創(chuàng)建集合。{'apple','orange',1} #這是一個集合2.4.1數(shù)據(jù)類型分類9.字典類型字典可以保存任意數(shù)量的元素,元素是“Key:Value”形式的鍵值對,Key不能重復(fù)。Python中一般使用大括號創(chuàng)建字典,字典中的鍵值對以逗號分隔。#這是一個字典{'名稱':'第二十四屆冬季奧運會','舉辦城市':'中國北京','舉辦時間':'2022年2月4日'}2.4.2查看數(shù)據(jù)類型Python語言屬于動態(tài)類型的語言,它在聲明變量時無須顯式地指定具體的數(shù)據(jù)類型,而是解釋器在執(zhí)行時會自動確定數(shù)據(jù)類型。若要知道變量保存的數(shù)據(jù)具體是什么數(shù)據(jù)類型,則可以通過type()函數(shù)進行查看。
empty_str=''print(type(empty_str))<class'str'>運行結(jié)果2.4.3數(shù)字類型轉(zhuǎn)換函數(shù)功能說明int()將浮點型、布爾類型的值,或者符合數(shù)字類型規(guī)范的字符串轉(zhuǎn)換為整型的值float()將整型的值,或者符合數(shù)字類型規(guī)范的字符串轉(zhuǎn)換為浮點型的值complex()將其他數(shù)字類型的值,或者符合數(shù)字類型規(guī)范的字符串轉(zhuǎn)換為復(fù)數(shù)類型的值bool()將任意類型的值轉(zhuǎn)換為布爾類型的值數(shù)字類型轉(zhuǎn)換的函數(shù)Python內(nèi)置了一系列可以實現(xiàn)數(shù)據(jù)類型之間強制轉(zhuǎn)換的函數(shù)。
2.4.3數(shù)字類型轉(zhuǎn)換類型轉(zhuǎn)換的示例代碼:a=21.8print(type(a))a=int(a)print(a)print(type(a))b=Trueprint(type(b))b=int(b)print(b)print(type(b))c=float(a)print(c)print(type(c))d=complex(a)print(d)print(type(d))數(shù)字運算2.52.5.1運算符算術(shù)運算符賦值運算符比較運算符邏輯運算符成員運算符身份運算符運算符是一種特殊符號,用于告訴解釋器對一個或多個操作數(shù)執(zhí)行數(shù)學(xué)或邏輯操作,并返回操作后的結(jié)果。運算符分類2.5.1運算符算術(shù)運算符是比較簡單的運算符,用于對兩個操作數(shù)進行簡單的數(shù)學(xué)運算,包括加減乘除等,并返回運算后的結(jié)果。下面以操作數(shù)a=2、b=8為例,介紹算術(shù)運算符的功能及示例。1.算術(shù)運算符運算符功能說明示例+加:使兩個操作數(shù)相加,獲取它們的和a+b,結(jié)果為10
-減:使兩個操作數(shù)相減,獲取它們的差a–b,結(jié)果為-6
*乘:使兩個操作數(shù)相乘,獲取它們的積a*b,結(jié)果為16
/除:使兩個操作數(shù)相除,獲取它們的商a/b,結(jié)果為0.25
//整除:使兩個操作數(shù)相除,獲取商的整數(shù)部分a//b,結(jié)果為0
%取余:使兩個操作數(shù)相除,獲取它們的余數(shù)a%b,結(jié)果為2
**冪:使兩個操作數(shù)進行冪運算,獲取a的b次冪a**b,結(jié)果為256
2.5.1運算符算術(shù)運算符既支持對相同類型的操作數(shù)進行運算,也支持對不同類型的操作數(shù)進行混合運算。在混合運算時,Python會強制將操作數(shù)的值進行轉(zhuǎn)換,這些轉(zhuǎn)換遵循如下原則:1.算術(shù)運算符1布爾類型的值進行算術(shù)運算時,將False和True視為數(shù)值0和1;2整型與浮點型進行混合運算時,將整型轉(zhuǎn)化為浮點型;3其他類型與復(fù)數(shù)運算時,將其他類型轉(zhuǎn)換為復(fù)數(shù)類型。2.5.1運算符賦值運算符的作用是將運算符右側(cè)的操作數(shù)賦值給左側(cè)的變量。若右側(cè)的操作數(shù)是一個表達式,則需要先執(zhí)行表達式,再將表達式執(zhí)行后的結(jié)果賦值給左側(cè)的變量。下面以操作數(shù)a=2,b=8為例,介紹賦值運算符的功能及示例。
2.賦值運算符運算符功能說明示例=等:將右側(cè)操作數(shù)賦給左側(cè)的變量a=b,a為8+=加等:將左側(cè)變量的值加上右側(cè)操作數(shù)的和賦給左側(cè)變量a+=b,a為10-=減等:將左側(cè)變量的值減去右側(cè)操作數(shù)的差賦給左側(cè)變量a–=b,a為-6*=乘等:將左側(cè)變量的值乘以右側(cè)操作數(shù)的積賦給左側(cè)變量a*=b,a為162.5.1運算符賦值運算符的作用是將運算符右側(cè)的操作數(shù)賦值給左側(cè)的變量。若右側(cè)的操作數(shù)是一個表達式,則需要先執(zhí)行表達式,再將表達式執(zhí)行后的結(jié)果賦值給左側(cè)的變量。下面以操作數(shù)a=2,b=8為例,介紹賦值運算符的功能及示例。
2.賦值運算符運算符功能說明示例/=除等:將左側(cè)變量的值除以右側(cè)操作數(shù)的商賦給左側(cè)變量a/=b,a為0.25//=整除等:將左側(cè)變量的值整除右側(cè)操作數(shù)的商的整數(shù)部分賦給左側(cè)變量a//=b,a為0%=取余等:將左側(cè)變量的值除以右側(cè)操作數(shù)的余數(shù)賦給左側(cè)變量a%=b,a為2**=冪等:將左側(cè)變量值的右側(cè)操作數(shù)次方的結(jié)果賦給左側(cè)變量a**=b,a為2562.5.1運算符比較運算符的作用是比較運算符兩邊的操作數(shù),以判斷兩個操作數(shù)之間的關(guān)系,并返回判斷的結(jié)果,判斷的結(jié)果只能是True或False。下面以操作數(shù)a=2,b=8為例,介紹比較運算符的功能及示例。
3.比較運算符運算符功能說明示例==比較左右兩側(cè)的操作數(shù),若兩者相同則為True,否則為Falsea==b不成立,結(jié)果為False!=比較左右兩側(cè)的操作數(shù),若兩者不相同則為True,否則為Falsea!=b成立,結(jié)果為True>
比較左右兩側(cè)的操作數(shù),若左側(cè)操作數(shù)大于右側(cè)操作數(shù)則為True,否則為Falsea>b不成立,結(jié)果為False2.5.1運算符比較運算符的作用是比較運算符兩邊的操作數(shù),以判斷兩個操作數(shù)之間的關(guān)系,并返回判斷的結(jié)果,判斷的結(jié)果只能是True或False。下面以操作數(shù)a=2,b=8為例,介紹比較運算符的功能及示例。
3.比較運算符運算符功能說明示例<
比較左右兩側(cè)的操作數(shù),若左側(cè)操作數(shù)小于右側(cè)操作數(shù)則為True,否則為Falsea<b成立,結(jié)果為True>=比較左右兩側(cè)的操作數(shù),若左側(cè)操作數(shù)大于或等于右側(cè)操作數(shù)則為True,否則為Falsea>=b不成立,結(jié)果為False<=比較左右兩側(cè)的操作數(shù),若左側(cè)操作數(shù)小于或等于右側(cè)操作數(shù)則為True,否則為Falsea<=b成立,結(jié)果為True2.5.1運算符Python中的邏輯運算符包括or、and和not。
4.邏輯運算符or運算符用于實現(xiàn)邏輯或運算,等價于數(shù)學(xué)中的“或”;and運算符用于實現(xiàn)邏輯與運算,等價于數(shù)學(xué)中的“且”;not運算符用于實現(xiàn)邏輯非運算,等價于數(shù)學(xué)中的“非”。2.5.1運算符當(dāng)使用or運算符連接兩個操作數(shù)時,若左側(cè)操作數(shù)的布爾值為True,則返回左側(cè)操作數(shù),否則返回右側(cè)操作數(shù)。4.邏輯運算符result1=2+3orNoneprint(result1)result2=0or3+5print(result2)運行代碼,結(jié)果如下所示。582.5.1運算符當(dāng)使用and運算符連接兩個操作數(shù)時,若and運算符左側(cè)操作數(shù)的布爾值為False,則返回左側(cè)操作數(shù),否則返回右側(cè)操作數(shù)。4.邏輯運算符result1=3-3and5print(result1)result2=3-8and5print(result2)運行代碼,結(jié)果如下所示。052.5.1運算符當(dāng)使用not運算符對一個操作數(shù)進行邏輯非運算時,若操作數(shù)的布爾值為False,則返回True,否則返回False。
4.邏輯運算符result1=not10-2print(result1)result2=notFalseprint(result2)運行代碼,結(jié)果如下所示。FalseTrue2.5.1運算符成員運算符用于檢測給定值是否存在字符串、列表、元組、集合、字典中,并返回檢測后的結(jié)果。Python中提供了兩個成員運算符,分別是in和notin,它們的功能如下。5.成員運算符in:如果給定值在字符串、列表等數(shù)據(jù)中,返回True,否則返回False。notin:如果給定值不在字符串、列表等數(shù)據(jù)中,返回True,否則返回False。words=‘a(chǎn)bcdefg’
#定義一個變量,保存字符串類型的數(shù)據(jù)print(‘f’inwords)
#檢測‘f’是否在字符串中,結(jié)果為Trueprint(‘c’notinwords)
#檢測‘c’是否在字符串中,結(jié)果為False2.5.1運算符6.身份運算符is:檢測兩個對象的內(nèi)存地址是否相同,相同返回True,否則返回False。isnot:檢測兩個對象的內(nèi)存地址是否不同,不同返回True,否則返回False。Python中的身份運算符有is和isnot,用于檢測兩個對象的內(nèi)存地址是否相同。a=b=10print(aisb)#檢測a和b的內(nèi)存地址是否相同,結(jié)果為Truea_address=id(a)
#獲取a的內(nèi)存地址print(a_address)b_address=id(b)
#獲取b的內(nèi)存地址print(b_address)a和b內(nèi)存地址相同2.5.2運算符優(yōu)先級Python支持使用多個不同的運算符連接簡單表達式,實現(xiàn)相對復(fù)雜的功能,為了避免含有多個運算符的表達式出現(xiàn)歧義,Python為每種運算符都設(shè)定了優(yōu)先級。運算符功能說明結(jié)合性or邏輯或自左至右and邏輯與自左至右not邏輯非自右至左in,notin成員檢測自左至右is,isnot身份檢測自左至右<,<=,>,>=,!=,==比較自左至右+,-加法,減法自左至右*,/,%,//乘法、除法,取余,整除自左至右**冪自右至左2.5.2運算符優(yōu)先級示例代碼:result=1+2*3print(result)運行代碼,結(jié)果如下所示。7result=(1+2)*3print(result)示例代碼:運行代碼,結(jié)果如下所示。92.5.2運算符優(yōu)先級運算符的結(jié)合性是指相同優(yōu)先級的運算符在同一個表達式中,且沒有括號的時候,運算符和操作數(shù)的結(jié)合方式,通常有自左至右和自右至左兩種結(jié)合方式,大多數(shù)運算符的結(jié)合方式是自左至右。result=1+2–3print(result)運行代碼,結(jié)果如下所示。0基本輸入和輸出2.62.6.1
input()函數(shù)input()是Python標(biāo)準(zhǔn)庫內(nèi)置的函數(shù),該函數(shù)的功能是獲取用戶從鍵盤輸入的數(shù)據(jù),并將輸入的數(shù)據(jù)以字符串的形式進行返回。input()函數(shù)在獲取用戶輸入之前可先在控制臺中輸出提示信息。input(提示信息)提示信息可以省略,如果傳入了提示信息,則會在用戶輸入之前顯示在控制臺上,以告訴用戶應(yīng)該輸入什么內(nèi)容。2.6.1
input()函數(shù)例如,獲取用戶輸入的問題答案,具體代碼如下:
question=input("世界上首座雙奧之城是哪個城市?")print(question)運行代碼,結(jié)果如下所示:世界上首座雙奧之城是哪個城市?北京北京2.6.1
input()函數(shù)需要注意的是,無論用戶在控制臺輸入的是數(shù)字、單個字母還是任何其他數(shù)據(jù),input()函數(shù)都將其以字符串形式返回,示例代碼如下:result=input()print(type(result))運行代碼,結(jié)果如下所示:100000000<class'str'>2.6.2
print()函數(shù)print()是Python程序中經(jīng)常出現(xiàn)的函數(shù),該函數(shù)的功能是將數(shù)據(jù)輸出到控制臺,它可以輸出任何類型的數(shù)據(jù)。print(數(shù)據(jù)1<,數(shù)據(jù)2,
...>,sep='分隔符',
end='結(jié)束標(biāo)志')數(shù)據(jù)的數(shù)量是任意的,可以是一個,也可以是多個;sep參數(shù)用于指定多個數(shù)據(jù)之間使用的分隔符,若不指定,則默認(rèn)使用空格作為分隔符;end參數(shù)用于指定輸出內(nèi)容使用的結(jié)束標(biāo)志,若不指定,則默認(rèn)使用換行符作為結(jié)束標(biāo)志,也就是說,每次輸出完以后會換到下一行。2.6.2
print()函數(shù)print()函數(shù)能夠直接輸出多個數(shù)據(jù),多個數(shù)據(jù)之間使用逗號進行分隔。
print(10,20,30)#同時輸出多個的數(shù)據(jù)new_data=50print(10,20,30,new_data)#混合輸出數(shù)據(jù)和變量名1.輸出多個數(shù)據(jù)運行代碼,結(jié)果如下所示:102030102030502.6.2
print()函數(shù)使用print()函數(shù)時傳入sep參數(shù),通過該參數(shù)指定數(shù)據(jù)之間的分隔符。print(10,20,30,sep='|')#輸出多個數(shù)據(jù),并用'|'作為分隔符new_data=50print(10,20,30,new_data,sep='-')#輸出多個數(shù)據(jù),并用'-'作為分隔符2.指定輸出數(shù)據(jù)的分隔符運行代碼,結(jié)果如下所示:10|20|3010-20-30-502.6.2
print()函數(shù)默認(rèn)情況下,print()函數(shù)將信息輸出到控制臺后會自動換行。如果希望print()函數(shù)輸出信息后不換行,則可以在使用print()函數(shù)時傳入end參數(shù),通過該參數(shù)修改結(jié)束標(biāo)志。3.不換行輸出運行代碼,結(jié)果如下所示:102030...50print(10,20,30,end='...')#輸出多個數(shù)據(jù),并用'...'作為結(jié)束標(biāo)記new_data=50print(new_data)實例:毛遂自薦2.72.7實例:毛遂自薦“毛遂自薦”主要講的是秦軍圍困趙國的都城邯鄲,趙國的平原君打算在門下食客中選取二十名文武兼?zhèn)涞娜?,一起去楚國求助。可是選來選去,卻僅僅湊夠了十九個人,這時,門客毛遂自告奮勇跟隨平原君前往楚國游說,最終也是由毛遂說服楚王同意合縱,解了趙國都城邯鄲之圍。2.7實例:毛遂自薦本實例要求實現(xiàn)自我介紹的程序,該程序會接收用戶從鍵盤輸入的個人信息,包括姓名、性別、學(xué)校、優(yōu)勢,并將這些信息輸出到控制臺。2.7實例:毛遂自薦要想實現(xiàn)自我介紹的程序,具體可以分為以下兩步:(1)通過input()函數(shù)依次接收用戶從鍵盤輸入的個人信息,并使用變量保存。(2)通過print()函數(shù)分別輸出變量保存的個人信息。本章小結(jié)本章主要介紹了Python的基礎(chǔ)語法,包括代碼風(fēng)格、標(biāo)識符和關(guān)鍵字、變量、數(shù)據(jù)類型、數(shù)字運算、基本輸入和輸出。本章比較簡單易學(xué),希望大家初學(xué)Python時,能夠多加練習(xí),為后期深入學(xué)習(xí)Python打好扎實的基礎(chǔ)。本章小結(jié)第3章字符串《Python程序設(shè)計現(xiàn)代方法(第2版)》學(xué)習(xí)目標(biāo)/Target
掌握字符串的定義方式,能夠準(zhǔn)確定義字符串
掌握字符串的索引和切片,能夠通過索引和切片獲取字符串的子串
掌握字符格式化方式,能夠通過%、format()和f-string格式化字符串學(xué)習(xí)目標(biāo)/Target
掌握字符串的處理函數(shù),能夠通過len()函數(shù)和ord函數(shù)實現(xiàn)特定功能
掌握字符串的處理方法,能夠根據(jù)需要選擇合適的方法處理字符串
熟悉字符串的運算符,能夠通過+和*運算符實現(xiàn)字符串的拼接和復(fù)制章節(jié)概述/Summary日常生活中經(jīng)常會看見一些文本類型的數(shù)據(jù),比如電子郵件、評論、個人資料等,這些數(shù)據(jù)的內(nèi)容形式比較復(fù)雜,包括字母、數(shù)字、標(biāo)點符號、特殊符號、漢字等,程序中使用字符串表示這些信息。本章將針對字符串的內(nèi)容進行詳細(xì)講解。目錄/Contents01字符串的定義字符串的索引和切片字符串格式化實例:制作高鐵名片020304目錄/Contents05字符串運算符字符串處理函數(shù)字符串處理方法0607實例:文本檢測程序08字符串的定義3.13.1字符串的定義字符串是一個有序的字符集合,它里面的字符默認(rèn)采用Unicode編碼,可以是字母、數(shù)字、標(biāo)點、特殊符號、中文等字符。需要說明的是,Python中沒有字符類型,即便一個字符也屬于字符串。Python支持使用單引號、雙引號和三引號定義字符串,三引號可以是三單引號和三雙引號,其中使用單引號、雙引號定義的字符串只能單行顯示,三引號定義的字符串支持多行顯示?!彩乱岳硐霝橐?,實行為果’
#使用單引號定義字符串“凡事以理想為因,實行為果”
#使用雙引號定義字符串
'''凡事以理想為因,實行為果'''
#使用三單引號定義字符串"""凡事以理想為因,
實行為果“”“
#使用三雙引號定義字符串3.1字符串的定義使用單引號或雙引號定義字符串時,字符串的內(nèi)容不能包含單引號或雙引號。例如,英文語句Let‘slearnPython中有一個單引號,如果此時仍然使用單引號定義包含該英文語句的字符串,則會出現(xiàn)錯誤信息。
3.1字符串的定義'Let'slearnPython''Let'slearnPython'^SyntaxError:unterminatedstringliteral(detectedatline131)運行代碼,結(jié)果如下所示:為了避免程序中出現(xiàn)這類問題,可以使用雙引號或三引號定義字符串。例如,將上述示例中定義字符串時使用的單引號分別修改為雙引號或三引號,改后的代碼如下:3.1字符串的定義"Let'slearnPython""""Let'slearnPython""“'''Let'slearnPython'''同理,若字符串包裹的內(nèi)容中包含雙引號,則可以使用單引號或三引號定義字符串
以確保Python解釋器能夠按預(yù)期對引號進行配對。除此之外,還可以利用反斜杠“\”對引號進行轉(zhuǎn)義,使Python解釋器將轉(zhuǎn)義后的引號作為普通字符對待。示例如下:3.1字符串的定義words='Let\'slearnPython'#使用反斜桿轉(zhuǎn)義字符串里面的單引號print(words)運行代碼,結(jié)果如下所示。Let'slearnPython有些情況下,反斜杠也會作為字符串的一部分,比如表示W(wǎng)indows系統(tǒng)下文件路徑的字符串“D:\PythonProject\Chapter01\next.py”中,由于\n特殊性,它會使\n連接的后面語句出現(xiàn)換行,示例如下:3.1字符串的定義運行代碼,結(jié)果如下所示。words='D:\PythonProject\Chapter01\next.py'print(words)D:\PythonProject\Chapter01ext.py3.1字符串的定義1盡管字符串的定義方式有很多,但是同一文件中應(yīng)統(tǒng)一使用方式,避免多種方式混合使用。2如果在字符串中包含某種形式的引號,那么應(yīng)優(yōu)先使用其他形式的引號定義字符串,而非使用轉(zhuǎn)義字符。3如果三引號定義的字符串沒有賦值給變量,那么它會被視為多行注釋。多學(xué)一招:轉(zhuǎn)義字符一些普通字符與反斜杠組合后將失去原有意義,產(chǎn)生新的含義。類似這樣的與反斜杠組合而成的、具有特殊意義的一串字符就是轉(zhuǎn)義字符。轉(zhuǎn)義字符通常用于表示一些無法直接顯示的字符,例如制表符、回車符等。轉(zhuǎn)義字符功能說明\b退格\n換行符\v垂直制表符\t水平制表符\r回車符\'單引號字符\"雙引號字符字符串的索引與切片3.23.2字符串的索引和切片Python中字符串可以包含多個字符,這些字符按一定順序排列,每個字符所在的位置有著固定的編號,以便用戶通過該編號訪問它們,這些位置編號被稱為索引或者下標(biāo)。按照不同的方向,索引分為正向索引和逆向索引。正向索引的值從0開始,逆向索引的值從-1開始。3.2字符串的索引和切片通過索引可以其對應(yīng)的單個字符,使用方式為“字符串[索引]”。words='精誠所至金石為開'char_one=words[1]#獲取索引為1的字符“誠”char_two=words[-7]#獲取索引為-7的字符“誠”3.2字符串的索引和切片通過切片從字符串中截取子串,切片的語法格式如下。字符串[起始索引:結(jié)束索引:步長]起始索引:表示截取字符的起始位置,取值可以是正向索引或逆向索引。結(jié)束索引:表示截取字符的結(jié)束位置,取值可以為正向索引或逆向索引。步長:表示每隔指定數(shù)量的字符截取一次字符串,取值可以是正負(fù)整數(shù),默認(rèn)值為1。若步長為正整數(shù),則會按照從左到右的順序取值;若步長為負(fù)整數(shù),則會按照從右到左的順序取值。需要注意的是,切片截取的子串包含起始索引對應(yīng)的字符,但不包含結(jié)束索引對應(yīng)字符。3.2字符串的索引和切片切片的示例如下:print(words[:5])#獲取從索引0到索引5之前的子串print(words[5:])#獲取從索引5到末尾的子串print(words[4:6])#獲取從索引4到索引6之前的子串print(words[::2])#獲取從索引0到末尾、步長為2的子串print(words[-4:-2])#獲取從索引-4到索引-2之前的子串print(words[-4:6])#獲取從索引-4到索引6之前的子串精誠所至金石為開金石精所金為金石金石運行結(jié)果3.2字符串的索引和切片值得一提的是,Python中的字符串與其他編程語言不同,它是不可變的,一旦定義完成后不能被修改。如果嘗試給某個索引對應(yīng)的字符重新賦值時,則會出現(xiàn)語法錯誤信息。words[3]=','TypeError:'str'objectdoesnotsupportitemassignment運行代碼,結(jié)果如下:字符串格式3.33.3.1使用格式符%格式化字符串在使用格式符對字符串格式化時,Python會使用一個帶有格式符的字符串作為模板,這個格式符用于為真實值預(yù)留位置,并說明真實值應(yīng)該呈現(xiàn)的格式。
"我叫%s"%"小明"使用一個元組將多個真實值傳遞給字符串模板,元組中的每個值對應(yīng)著一個格式符。
"我叫%s,今年%d歲了"%("小明",18)Python還支持更多類型的格式符,每種格式符適用于不同的數(shù)據(jù)類型。格式符功能說明%c格式化單個字符及其ASCII碼%s格式化字符串%i或%d格式化有符號的十進制整數(shù)%o格式化有符號的八進制整數(shù)%x格式化有符號的十六進制整數(shù)%e格式化科學(xué)計數(shù)法表示的浮點數(shù),以e為底數(shù)%E格式化科學(xué)計數(shù)法表示的浮點數(shù),以E為底數(shù)%f格式化十進制表示的浮點數(shù)3.3.1使用格式符%格式化字符串當(dāng)使用多個格式符對字符串進行格式化時,還可以通過字典傳值,這時需要先以“(name)”形式對變量進行命名,每個命名對應(yīng)字典的一個鍵,示例如下:format_string="我叫%(name)s,今年%(age)d歲了"%{"name":"小明","age":18}print(format_string)運行代碼,結(jié)果如下所示。我叫小明,今年18歲了3.3.1使用格式符%格式化字符串3.3.2使用format()方法格式化字符串使用format()方法格式化字符串的語法格式如下:模板字符串.format(值0,值1,...)format_string="我叫{},今年18歲了".format("小明")print(format_string)我叫小明,今年18歲了示例代碼:運行結(jié)果:3.3.2使用format()方法格式化字符串如果模板字符串中有多個符號{},并且{}內(nèi)沒有指定任何值的序號,則默認(rèn){}內(nèi)的序號與值的順序是互相對應(yīng)的,序號從0開始遞增,此時會按照從左到右的順序依次用值替換。3.3.2使用format()方法格式化字符串如果模板字符串的{}內(nèi)明確指定了值的序號,則需要按照序號使用相應(yīng)的值進行替換。
3.3.2使用format()方法格式化字符串在format()方法中,模板字符串的{}內(nèi)除了參數(shù)序號以外,還可以加入其他控制信息,以便能定制更豐富的格式。{}內(nèi)加入控制信息的語法格式如下:{<值序號>:<格式控制標(biāo)記>}格式控制標(biāo)記包括<填充>、<對齊>、<寬度>、<,>、<.精度>、<類型>這六個字段,這些字段都是可選的,可以組合使用。3.3.2使用format()方法格式化字符串(1)<填充>字段是一個字符,默認(rèn)使用空格填充。(2)<對齊>字段分別使用<、>和^三個符號表示左對齊、右對齊和居中對齊。(3)<寬度>字段用于指定值轉(zhuǎn)換字符串后字符串的寬度,如果設(shè)定的寬度值比字符串的實際長度小,則使用字符串的實際長度,否則就使用設(shè)定的寬度值。words="design"print("{:10}".format(words))#左對齊,填充空格至寬度為10print("{:>10}".format(words))#右對齊,填充空格至寬度為10print("{:@^10}".format(words))#居中對齊,填充@至寬度為10print("{:@^1}".format(words))#寬度小于words的實際長度designdesign@@design@@design運行結(jié)果3.3.2使用format()方法格式化字符串(4)<,>字段用于顯示數(shù)字類型的千位分隔符。
words=31415926print("{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 租賃經(jīng)營合同
- 工業(yè)廢水處理技術(shù)研發(fā)合作合同
- 井蓋產(chǎn)品購銷合同
- 汽車直租融資租賃合同
- 房地產(chǎn)測量合同年
- 會議展覽活動承辦服務(wù)合同
- 房屋修建承包合同
- 合作研究開發(fā)合同
- 1秋天 教學(xué)設(shè)計-2024-2025學(xué)年語文一年級上冊統(tǒng)編版
- 長沙電力職業(yè)技術(shù)學(xué)院《創(chuàng)意教學(xué)法》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年湖北省武漢市中考語文試卷
- 二零二五年度高品質(zhì)小區(qū)瀝青路面翻新施工與道路綠化合同2篇
- 2024年形勢與政策復(fù)習(xí)題庫含答案(綜合題)
- 2022年北京市初三一模語文試題匯編:基礎(chǔ)知識綜合
- 2025年廣東食品藥品職業(yè)學(xué)院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 2 爆破工試題及答案
- 電路基礎(chǔ)知到智慧樹章節(jié)測試課后答案2024年秋江西職業(yè)技術(shù)大學(xué)
- 盲源信號分離算法研究及應(yīng)用
- 工程項目部安全生產(chǎn)治本攻堅三年行動實施方案
- 2024三農(nóng)新政策解讀
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
評論
0/150
提交評論