




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
準(zhǔn)備工作1搭建Python環(huán)境目錄認(rèn)識Python2
安裝PyCharm3Python是一種結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮母邔哟斡?jì)算機(jī)語言,也是一種功能強(qiáng)大且完善的通用型語言,具有30多年的發(fā)展歷史,成熟且穩(wěn)定。Python具備垃圾回收功能,能夠自動管理內(nèi)存,常被當(dāng)作腳本語言用于處理系統(tǒng)管理任務(wù)和編寫網(wǎng)絡(luò)程序。此外,Python支持命令式程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)、函數(shù)式編程、泛型編程等多種編程范式,非常適合用于完成各種高級任務(wù)。初識PythonPython的創(chuàng)始人是吉多.范羅蘇姆(GuidovanRossum)。1989年圣誕節(jié)期間,Guido為了打發(fā)圣誕節(jié)的無趣,開發(fā)了這個新的腳本解釋程序。Python的發(fā)展歷史Python繼承了ABC語言的許多特性,如優(yōu)美且功能強(qiáng)大。這些特性是專門為吸引非專業(yè)程序員而設(shè)計(jì)的。然而盡管有這些特性,ABC語言并未獲得廣泛的接受,Guido認(rèn)為其失敗的部分原因是該語言不是開源性語言。于是,Guido決心將Python開源來避免重蹈覆轍,這一決策取得了非常好的效果。同時,Guido還想實(shí)現(xiàn)在ABC語言中提出過但未曾實(shí)現(xiàn)的功能。Python不僅是在ABC語言的基礎(chǔ)上發(fā)展起來的,還受到了Modula-3(另一種優(yōu)美且功能強(qiáng)大的語言,由一個小型團(tuán)隊(duì)設(shè)計(jì))的影響,并且結(jié)合了UNIXShell和C語言用戶的使用習(xí)慣,這使得Python一躍成為眾多UNIX和Linux開發(fā)人員所青睞的開發(fā)語言。Python的發(fā)展歷史Python特點(diǎn)簡單易學(xué)免費(fèi)、開源具有廣泛的標(biāo)準(zhǔn)庫支持互動模式可移植可擴(kuò)展可嵌入Python的特性1搭建Python環(huán)境目錄認(rèn)識Python2
安裝PyCharm3用戶可根據(jù)自己計(jì)算機(jī)的系統(tǒng),從Python官網(wǎng)下載對應(yīng)的Python3.11.7,并在成功安裝后配置環(huán)境變量;在Windows系統(tǒng)的“命令提示符”窗口中輸入“python”命令并執(zhí)行,能得到下圖所示的結(jié)果。在Windows系統(tǒng)平臺安裝Python在Windows系統(tǒng)平臺安裝Python的具體操作步驟如下。打開瀏覽器,訪問Python官網(wǎng)在Windows系統(tǒng)平臺安裝Python選擇“Downloads”菜單中的“Windows”選項(xiàng)在Windows系統(tǒng)平臺安裝Python找到Python3.11.7的安裝包,如果Windows系統(tǒng)版本是32位的,那么單擊“Windowsinstaller(32-bit)”超鏈接,然后下載;如果Windows系統(tǒng)版本是64位的,那么單擊“Windowsinstaller(64-bit)”超鏈接,然后下載,在Windows系統(tǒng)平臺安裝Python下載完成后,雙擊運(yùn)行下載的安裝包,打開Python安裝向?qū)Т翱冢缦聢D所示,勾選“Addpython.exetoPATH”復(fù)選框,然后單擊“Customizeinstallation”。在Windows系統(tǒng)平臺安裝Python在打開的界面中保持默認(rèn)選擇,單擊“Next”按鈕,如左圖所示,進(jìn)入右圖所示的界面,在該界面中可以修改安裝路徑,修改完成后單擊“Install”按鈕進(jìn)行安裝。在Windows系統(tǒng)平臺安裝Python安裝完成之后,會彈出安裝成功的提示界面,如下圖所示。在Windows系統(tǒng)平臺安裝Python打開“命令提示符”窗口(操作方法詳見【任務(wù)1-1】),輸入“python”命令并執(zhí)行,會出現(xiàn)以下兩種情況。情況一:出現(xiàn)如左圖所示的界面,說明Python已經(jīng)安裝成功。情況二:出現(xiàn)如右圖所示的界面。這是因?yàn)閃indows系統(tǒng)會根據(jù)PATH環(huán)境變量設(shè)定的路徑去查找python.exe,如果沒有找到,那么會不輸出。配置PATH環(huán)境變量情況一情況二如果出現(xiàn)情況2,就需要將python.exe所在的路徑添加到PATH環(huán)境變量中,以Windows10為例,具體步驟如下。右鍵單擊“此電腦”圖標(biāo),在彈出的快捷菜單中選擇“屬性”選項(xiàng),如圖下圖所示。配置PATH環(huán)境變量在打開的窗口中選擇“高級系統(tǒng)設(shè)置”選項(xiàng),如下圖所示。配置PATH環(huán)境變量在彈出的“系統(tǒng)屬性”對話框中單擊“環(huán)境變量”按鈕,如左圖所示。在彈出的“環(huán)境變量”對話框中找到“系統(tǒng)變量”列表框中的“Path”選項(xiàng),如右圖所示。配置PATH環(huán)境變量雙擊“Path”選項(xiàng),在彈出的“編輯環(huán)境變量”對話框中可編輯變量值,在“變量值”文本框中添加Python的安裝路徑。例如,安裝路徑為“D:\Python311”,則添加的變量值為“D:\Python311”,如下圖所示。配置PATH環(huán)境變量單擊“確定”按鈕。打開“命令提示符”窗口,輸入“python”命令并執(zhí)行,出現(xiàn)下圖所示的界面,說明已經(jīng)配置好Python的PATH環(huán)境變量。配置PATH環(huán)境變量成功安裝Python之后,即可正式開始Python之旅。Python的打開方式有3種:使用Windows系統(tǒng)的命令行工具(cmd)、使用帶圖形界面的PythonShell——集成開發(fā)和學(xué)習(xí)環(huán)境(IntegratedDevelopmentandLearningEnvironment,IDLE)、使用命令行版本的PythonShell——Python3.11。【任務(wù)1-1】開啟Python之旅任務(wù)描述cmd即命令提示符,“命令提示符”窗口是Windows環(huán)境下的虛擬磁盤操作系統(tǒng)(DiskOperatingSystem,DOS)窗口。在Windows系統(tǒng)下,打開“命令提示符”窗口有3種方法。按“Win+R”組合鍵,其中“Win”鍵是鍵盤上的開始菜單鍵,如左圖所示,在彈出的“運(yùn)行”對話框的“打開”文本框中輸入“cmd”,如右圖所示,單擊“確定”按鈕,即可打開“命令提示符”窗口。【任務(wù)1-1】開啟Python之旅1.使用Windows系統(tǒng)的命令行工具在“所有程序”列表中搜索“cmd”,如下圖所示。選擇“命令提示符”選項(xiàng)或按“Enter”鍵即可打開“命令提示符”窗口。【任務(wù)1-1】開啟Python之旅在“C:\Windows\System32”路徑下找到“cmd.exe”,如下圖所示,雙擊即可打開“命令提示符”窗口。【任務(wù)1-1】開啟Python之旅打開“命令提示符”窗口后,輸入“python”命令并按“Enter”鍵,如果出現(xiàn)“>>>”符號,那么說明已經(jīng)進(jìn)入Python交互式編程環(huán)境,如下圖所示。此時若輸入“exit()”命令即可退出。IDLE是開發(fā)Python程序的基本集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE),由Guido親自編寫。IDLE適合用來測試和演示一些簡單代碼的執(zhí)行效果。在Windows系統(tǒng)下安裝好Python后,可以在“開始”菜單中找到IDLE,選擇“IDLE(Python3.1164-bit)”選項(xiàng),如左圖所示,即可打開IDLE界面,如右圖所示。【任務(wù)1-1】開啟Python之旅2.使用帶圖形界面的PythonShell——ID命令行版本的PythonShell——
Python3.11的打開方法和IDLE的打開方法是一樣的。在Windows系統(tǒng)的“開始”菜單中選擇“Python3.11(64-bit)”選項(xiàng),如左圖所示,即可打開Python3.11界面,如右圖所示。【任務(wù)1-1】開啟Python之旅3.使用命令行版本的PythonShell——Python3.111搭建Python環(huán)境目錄認(rèn)識Python2
安裝PyCharm3IDE是一種輔助程序開發(fā)人員進(jìn)行開發(fā)的應(yīng)用軟件,在開發(fā)工具內(nèi)部即可輔助編寫代碼,并編譯打包,使之成為可用的程序,有些甚至可以設(shè)計(jì)圖形接口。IDE也是集代碼編寫、分析、編譯、調(diào)試等功能于一體的開發(fā)軟件服務(wù)套(組),通常包括編程語言編輯器、自動構(gòu)建工具和調(diào)試器。在Python的應(yīng)用過程中,IDE是不可或缺的,它可以幫助開發(fā)人員加快開發(fā)速度,提高開發(fā)效率。在Python中,常見的IDE有Python自帶的IDLE、PyCharm、JupyterNotebook、Spyder等。常用的PythonIDEPyCharm可以幫助Python開發(fā)人員提高工作效率,它功能豐富,包括調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試及版本控制等。PyCharm還提供了一些高級功能,用于支持Django框架下的專業(yè)Web開發(fā),同時支持GoogleAppEngine和IronPython。這些功能使PyCharm成為Python專業(yè)開發(fā)人員和初學(xué)者的有力工具。認(rèn)識PyCharm打開PyCharm官網(wǎng),如下圖所示,單擊“Download”按鈕。
安裝和使用PyCharm1.安裝PyCharm
安裝和使用PyCharm選擇Windows系統(tǒng)的社區(qū)版,單擊“Download”按鈕即可進(jìn)行下載,如下圖所示。
安裝和使用PyCharm下載完成后,雙擊安裝包打開安裝向?qū)В缦聢D所示,單擊“下一步”按鈕。
安裝和使用PyCharm在進(jìn)入的界面中自定義軟件安裝路徑,建議路徑中不要使用中文字符,如下圖所示,單擊“下一步”按鈕。
安裝和使用PyCharm在進(jìn)入的界面中,創(chuàng)建桌面快捷方式并關(guān)聯(lián).py文件,如下圖所示,單擊“下一步”按鈕。
安裝和使用PyCharm在進(jìn)入的界面中單擊“安裝”按鈕默認(rèn)安裝。安裝完成后單擊“完成”按鈕,如下圖所示。
安裝和使用PyCharm雙擊桌面上的快捷方式,在彈出的“ImportPyCharmSettings”對話框中選擇“Donotimportsettings”單選項(xiàng),如下圖所示,單擊“OK”按鈕。
安裝和使用PyCharm重啟應(yīng)用后,將會打開下圖所示的界面,單擊“NewProject”圖標(biāo)創(chuàng)建新項(xiàng)目。
安裝和使用PyCharm在打開的“NewProject”窗口中自定義項(xiàng)目存儲路徑,如下圖所示,IDE默認(rèn)關(guān)聯(lián)Python解釋器,單擊“Create”按鈕。
安裝和使用PyCharm這樣就進(jìn)入了PyCharm界面,如下圖所示。
安裝和使用PyCharm更換PyCharm的主題。單擊“File”菜單下的“Settings”命令,如左圖所示。在彈出的“Settings”對話框中,依次選擇“Appearance&Behavior”→“Appearance”選項(xiàng),在“Theme”下拉列表中選擇自己喜歡的主題,這里選擇“LightwithLightHeader”,如右圖所示。新建好項(xiàng)目(此處項(xiàng)目名為python)后,還要新建一個.py文件。右擊項(xiàng)目名“python”,在彈出的快捷菜單中選擇“New”→“PythonFile”命令,如下圖所示。
安裝和使用PyCharm2.使用PyCharm
安裝和使用PyCharm在彈出的對話框中輸入文件名“study”后按“Enter”鍵即可新建study.py文件,如左圖所示。選擇該文件并按“Enter”鍵即可打開此腳本文件,如右圖所示。如果是首次安裝PyCharm,那么此時的運(yùn)行按鈕是灰色的,處于不可觸發(fā)的狀態(tài),要運(yùn)行腳本需要設(shè)置控制臺。
安裝和使用PyCharm單擊運(yùn)行按鈕左邊的下拉按鈕,如左圖所示,選擇“EditConfigurations”,彈出“Run/DebugConfigurations”對話框,單擊“+”按鈕,新建一個Python配置項(xiàng),如右圖所示。
安裝和使用PyCharm在右側(cè)窗格中的“Name”文本框中輸入文件名,單擊“script”選項(xiàng)右側(cè)的“瀏覽”按鈕,找到剛剛新建的study.py文件,如下圖所示。單擊“OK”按鈕之后,運(yùn)行按鈕就會變成綠色,此時就可以正常編程了。PyCharm界面可分為菜單欄、工具欄、項(xiàng)目結(jié)構(gòu)區(qū)、代碼區(qū)和信息顯示區(qū)。各個區(qū)域的工作范圍介紹如下。菜單欄:包含影響整個項(xiàng)目或部分項(xiàng)目的命令,如打開項(xiàng)目、創(chuàng)建項(xiàng)目、重構(gòu)代碼、運(yùn)行和調(diào)試應(yīng)用程序、保存文件等命令。項(xiàng)目結(jié)構(gòu)區(qū):已經(jīng)創(chuàng)建完成的項(xiàng)目或文件的展示區(qū)域。代碼區(qū):編寫代碼的區(qū)域。信息顯示區(qū):查看程序輸出信息的區(qū)域。工具欄:放置快捷命令,左側(cè)工具欄包含終端、Python控制臺等功能。安裝和使用PyCharm除了可以在PyCharm中的代碼區(qū)編輯代碼,還可以通過工具欄中的“PythonConsole”(Python控制臺)直接輸入代碼并執(zhí)行,然后立刻得到結(jié)果。Python控制臺的輸入模式主要有兩種:一種是通過In輸入,通過Out輸出;另一種是通過“>>>”的形式輸入,直接顯示輸出結(jié)果。本書主要以“>>>”的形式編寫代碼,如下圖所示。讀者可以通過單擊“File”→“Settings”→“Build,Execution,Deployment”→“Console”命令,取消勾選“UseIPythonifavailable”復(fù)選框,將默認(rèn)形式修改為“>>>”的形式。安裝和使用PyCharmPython和PyCharm安裝完成后,即可開始創(chuàng)建本書的第一個程序——應(yīng)聲蟲程序。應(yīng)聲蟲程序是一個簡單的Python腳本,它的功能是對用戶的輸入進(jìn)行響應(yīng)。當(dāng)用戶輸入“helloworld”時,程序會輸出相應(yīng)的響應(yīng)。程序可通過不同的方式實(shí)現(xiàn)對“helloworld”的響應(yīng),包括直接輸出、存儲在變量中輸出,以及分別存儲在兩個變量中并計(jì)算這兩個變量的和。通過應(yīng)聲蟲程序,讀者可以了解到如何使用Python的基本功能來創(chuàng)建響應(yīng)式的程序。【任務(wù)1-2】創(chuàng)建應(yīng)聲蟲程序任務(wù)描述在Python中,實(shí)現(xiàn)數(shù)據(jù)輸出的方式有兩種:一種是使用print函數(shù);另一種是直接使用變量名來查看相應(yīng)變量的原始值。print函數(shù)用于輸出數(shù)據(jù),其語法結(jié)構(gòu)如下。print(<expressions>)print函數(shù)語法結(jié)構(gòu)里的單詞“expressions”為復(fù)數(shù)形式,其含義是表達(dá)式可以有多個。Python在執(zhí)行print函數(shù)時,先計(jì)算表達(dá)式的值,再將表達(dá)式的值輸出。如果有多個表達(dá)式,那么表達(dá)式之間用逗號(,)隔開,語法結(jié)構(gòu)如下。print(<expression>,<expression>,..<expression>)【任務(wù)1-2】創(chuàng)建應(yīng)聲蟲程序1.使用print函數(shù)輸出“helloworld”【任務(wù)1-2】創(chuàng)建應(yīng)聲蟲程序在新建的.py文件中使用print函數(shù)輸出>>>print('helloworld')helloworld>>>print('hello','world')helloworld可以看到第2個print函數(shù)使用逗號連接兩個字符串,在輸出的時候,“hello”和“world”中間有一個空格。在交互式環(huán)境中,為了方便,可以直接使用變量名查看變量的原始值,以達(dá)到輸出的目的。>>>character="helloworld">>>character'helloworld’將“helloworld”賦值給character,然后直接輸出character,即可查看character的原始值。直接在交互式環(huán)境中運(yùn)行“helloworld”語句,也可以實(shí)現(xiàn)輸出。>>>"helloworld"‘helloworld’【任務(wù)1-2】創(chuàng)建應(yīng)聲蟲程序2.使用變量名查看變量的原始值在Python中,可以通過input函數(shù)從鍵盤輸入數(shù)據(jù),input函數(shù)的語法結(jié)構(gòu)如下。input(<prompt>)input函數(shù)的形參prompt代表一個字符串,用于提示用戶輸入數(shù)據(jù)。input函數(shù)的返回值是字符串型的。>>>character=input('inputyourcharacter:')>>>print(character)inputyourcharacter:第1行語句使用input函數(shù)提示用戶輸入數(shù)據(jù)。用戶輸入數(shù)據(jù)后,input函數(shù)會把數(shù)據(jù)傳遞給等號(=)左邊的character變量來保存。第2行調(diào)用print函數(shù)輸出character變量的值,所以執(zhí)行第2行語句后會輸出字符串“inputyourcharacter:”,作為新的提示符。輸入“helloworld”后按“Enter”鍵,程序?qū)⑼暾剌敵觥癶elloworld”。【任務(wù)1-2】創(chuàng)建應(yīng)聲蟲程序3.使用input函數(shù)從鍵盤輸入數(shù)據(jù)若想依次輸出“first:”和“second:”,則可以用字符串拼接的方式。>>>x=input("first:")>>>y=input("second:")>>>print(x+y)在執(zhí)行第3行語句后,程序會依次輸出“first:”和“second:”,用戶依次輸入“hello”和“world”后按“Enter”鍵,程序?qū)⑼暾剌敵觥癶elloworld”。【任務(wù)1-2】創(chuàng)建應(yīng)聲蟲程序本單元介紹了Python的基本概念、發(fā)展史以及特性,同時介紹了Python環(huán)境的搭建,其中重點(diǎn)介紹如何在Windows系統(tǒng)平臺上安裝Python,并配置PATH環(huán)境變量。此外,還介紹了常用的PythonIDE,包括PyCharm的安裝和使用,并通過創(chuàng)建應(yīng)聲蟲程序,介紹了Python的輸出和輸入。小結(jié)Python的基礎(chǔ)語法1標(biāo)識符與關(guān)鍵字目錄縮進(jìn)代碼2調(diào)試Python代碼3Python的特色之一就是以縮進(jìn)的方式來標(biāo)識代碼塊,不再需要使用花括號,這樣會使代碼看起來更加簡潔明了。同一個代碼塊的語句必須保證相同的縮進(jìn),否則將會出錯。至于縮進(jìn)的空格數(shù),Python并沒有硬性要求,只需保證數(shù)量相同即可。正確縮進(jìn)示例如下:縮進(jìn)代碼>>>ifTrue:...print('我的行縮進(jìn)空格數(shù)相同')...else:...print('我的行縮進(jìn)空格數(shù)相同')最后一行語句的縮進(jìn)的空格數(shù)與其他行的不一致,會導(dǎo)致代碼運(yùn)行出錯。錯誤縮進(jìn)示例如下:縮進(jìn)代碼>>>ifTrue:...print('我的行縮進(jìn)空格數(shù)相同')...else:...print('我的行縮進(jìn)空格數(shù)相同')...print('我的行縮進(jìn)空格數(shù)不同')此外,當(dāng)在交互式模式下輸入復(fù)合語句時,必須在最后添加一個空行來標(biāo)識結(jié)束。因?yàn)楫?dāng)代碼過于復(fù)雜時,解釋器將難以判斷代碼塊在何處結(jié)束,而且以空行標(biāo)識結(jié)束也便于程序開發(fā)人員進(jìn)行查閱和理解。1標(biāo)識符與關(guān)鍵字目錄縮進(jìn)代碼2調(diào)試Python代碼3標(biāo)識符在機(jī)器語言中是被允許作為名字的有效字符串。Python中的標(biāo)識符主要用于變量、函數(shù)、類、模塊、對象等的命名中。Python對標(biāo)識符有如下規(guī)定:(1)標(biāo)識符可以由字母、數(shù)字和下畫線(_)組成。(2)標(biāo)識符字母區(qū)分大小寫,如Abc與abc是兩個不同的標(biāo)識符。標(biāo)識符與關(guān)鍵字(3)標(biāo)識符不能以數(shù)字開頭。以下畫線開頭的標(biāo)識符具有特殊的意義,使用時需要注意以下規(guī)定:①以單下畫線開頭的標(biāo)識符(如_foo)代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,且不能用“from*import*”導(dǎo)入。②以雙下畫線開頭的標(biāo)識符(如__foo)代表類的私有成員。③以雙下畫線開頭和結(jié)尾的標(biāo)識符(如__foo__)是Python特殊方法專用的標(biāo)識符,如__init__代表類的構(gòu)造方法。標(biāo)識符與關(guān)鍵字(4)禁止使用Python中的關(guān)鍵字作為標(biāo)識符。當(dāng)需要查看某字符串是否為關(guān)鍵字時,可以使用iskeyword函數(shù),使用kwlist函數(shù)可以查看所有關(guān)鍵字,如下所示。標(biāo)識符與關(guān)鍵字>>>importkeyword>>>print(keyword.iskeyword('and'))#查看and是否為關(guān)鍵字True>>>print(keyword.kwlist)#查看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']1標(biāo)識符與關(guān)鍵字目錄縮進(jìn)代碼2調(diào)試Python代碼3程序一次性編寫完并能正確運(yùn)行的概率非常小,一般需要修正各種各樣的bug。有的bug修正起來很簡單,只需查看一下錯誤信息就知道如何修正;而有的bug修正起來很復(fù)雜,修正時需要判斷出錯時哪些變量的值是正確的,哪些變量的值是錯誤的。因此,開發(fā)人員需要有一整套調(diào)試程序的手段來修復(fù)bug。程序調(diào)試就是在將編寫好的程序投入實(shí)際運(yùn)行前,用手動或編譯程序等方法對其進(jìn)行測試,進(jìn)而修正其語法錯誤和邏輯錯誤的過程。這是保證計(jì)算機(jī)信息系統(tǒng)正確性的必不可少的步驟。編寫好的計(jì)算機(jī)程序必須在計(jì)算機(jī)中進(jìn)行測試,然后根據(jù)測試時所發(fā)現(xiàn)的錯誤進(jìn)行進(jìn)一步診斷,找出出錯的原因和具體的位置并進(jìn)行修正。調(diào)試Python代碼Python代碼可以通過使用pdb(Python自帶的包)、PythonIDE(如PyCharm)、日志功能等進(jìn)行調(diào)試。接下來介紹一些語法錯誤示例,代碼如下:調(diào)試Python代碼>>>print'Hello,World!'#缺少括號SyntaxError:Missingparenthesesincallto'print'.Didyoumeanprint(...)?>>>print(‘Hello,World!’)#引號為中文引號SyntaxError:invalidcharacter'‘'(U+2018)>>>print('Hello,World!')#括號為中文括號SyntaxError:invalidcharacter'('(U+FF08)第一行代碼在Python2中是能正確運(yùn)行的,但是在Python3中并不能正確運(yùn)行;后面的兩行代碼的錯誤是由于使用了中文格式的符號,在編寫代碼時,一般使用英文輸入法。Python的基礎(chǔ)語法1聲明Python編碼目錄認(rèn)識計(jì)算機(jī)語言2加入代碼注釋3使用多行語句4眾所周知,人與人之間可以通過人類語言進(jìn)行交流,人與計(jì)算機(jī)之間可以通過計(jì)算機(jī)語言(將人類語言轉(zhuǎn)化成計(jì)算機(jī)能夠理解的語言)進(jìn)行交流。計(jì)算機(jī)語言的種類很多,總體可以分為三大類,分別是機(jī)器語言、匯編語言和高級語言。機(jī)器語言是指計(jì)算機(jī)能夠識別的指令集合,其指令由“0”和“1”組成。匯編語言在機(jī)器語言的基礎(chǔ)上進(jìn)行了改進(jìn),以英文單詞代替0和1。例如,“Add”代表相加,“Mov”代表傳遞數(shù)據(jù)等。匯編語言實(shí)際上就是機(jī)器語言的記號。高級語言并不特指某一種語言,它泛指很多編程語言,如Python、C語言、C++、Java等。認(rèn)識計(jì)算機(jī)語言相對于匯編語言,高級語言將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),如使用堆棧、寄存器等,極大地簡化了程序中的指令。高級語言源程序可以通過解釋和編譯兩種方式執(zhí)行,一般使用編譯的方式。由于Python省略了很多編譯細(xì)節(jié),因此更容易上手。Python的設(shè)計(jì)目標(biāo)之一是讓代碼具有高度的可讀性,其使用的標(biāo)點(diǎn)符號和英文單詞大多與其他語言經(jīng)常使用的一致,因此使用它設(shè)計(jì)的程序代碼看起來整潔且美觀。Python不像其他靜態(tài)語言(如C語言、Pascal等)一樣需要重復(fù)書寫聲明語句,在一定程度上避免了經(jīng)常出現(xiàn)特殊情況和意外。認(rèn)識計(jì)算機(jī)語言1聲明Python編碼目錄認(rèn)識計(jì)算機(jī)語言2加入代碼注釋3使用多行語句4Python
3安裝完成后,系統(tǒng)默認(rèn)其源碼文件為UTF-8編碼。在此編碼下,全世界大多數(shù)編程語言的字符都可以同時在字符串和注釋中得到準(zhǔn)確的編譯。在大多數(shù)情況下,通過編輯器編寫的Python代碼默認(rèn)保存為UTF-8編碼的腳本文件,這樣系統(tǒng)在通過Python執(zhí)行相應(yīng)文件時就不容易出錯。但是如果編輯器不支持UTF-8編碼的文件,或團(tuán)隊(duì)合作時有人使用了其他編碼格式,那么Python
3將無法自動識別腳本文件,從而造成程序執(zhí)行錯誤,這時候?qū)ython腳本文件進(jìn)行編碼聲明就顯得尤為重要。例如,GBK腳本文件在沒有編碼聲明時執(zhí)行將會出錯,經(jīng)編碼聲明后,腳本文件即可正常執(zhí)行。聲明Python編碼為源文件指定特定的字符編碼時,需要在文件的首行或第二行插入特殊的注釋行,源文件中的所有字符都會按照“coding”指代的UTF-8編碼進(jìn)行處理。當(dāng)然,這并不是唯一的聲明格式,其他格式的聲明如“#coding:utf-8”和“#coding=utf-8”,也都是可以的。通常使用的編碼聲明格式如下。聲明Python編碼#-*-coding:utf-8-*-在編寫Python腳本時,除了要聲明編碼外,還需要注意路徑聲明。路徑聲明的目的是告訴系統(tǒng)調(diào)用“D:/Python311”目錄下的Python解釋器執(zhí)行文件,一般放在腳本首行。格式如下。#D:/Python3111聲明Python編碼目錄認(rèn)識計(jì)算機(jī)語言2加入代碼注釋3使用多行語句4注釋對于編程來說是必不可少的,即使是簡短的幾行Python代碼,如果使用了一些生僻的編寫方法,開發(fā)人員也需要花一定時間才能將其弄明白。實(shí)際應(yīng)用中,開發(fā)人員常常要面對成千上萬行晦澀難懂的代碼,如果代碼注釋不夠詳細(xì),那么時間一長,甚至連開發(fā)人員自己也會弄不清代碼的含義。加入代碼注釋單行注釋通常以井號(#)開頭,注釋行是不會被機(jī)器解釋的。這里需要注意的是,前文介紹的編碼聲明雖然也是以井號(#)開頭的,但其不屬于注釋行,而且編碼聲明需要放在首行或第二行,否則不會被機(jī)器解釋。代碼如下:1.單行注釋>>>#這是一個單獨(dú)成行的注釋>>>print('Hello,World!')#這是一個在代碼后面的注釋在實(shí)際應(yīng)用中常常會有多行注釋的需求,同樣也可以使用井號(#)進(jìn)行注釋,只需在每一行注釋前加上井號(#)即可代碼如下:2.多行注釋(1)井號(#)注釋>>>#這是一個使用#的多行注釋>>>#這是一個使用#的多行注釋>>>#這是一個使用#的多行注釋>>>print('Hello,World!')使用井號(#)進(jìn)行多行注釋顯得有些煩瑣。Python對多行注釋還提供了另一種更加方便、快捷的方式,即使用3個單引號或3個雙引號將注釋內(nèi)容包含,達(dá)到注釋多行或整段內(nèi)容的效果。使用單引號進(jìn)行多行注釋,如代碼所示。2.多行注釋(2)單引號注釋>>>'''該多行注釋使用的是3個單引號該多行注釋使用的是3個單引號該多行注釋使用的是3個單引號'''>>>print('Hello,World!')使用雙引號進(jìn)行多行注釋,如代碼所示。2.多行注釋(3)雙引號注釋>>>"""該多行注釋使用的是3個雙引號該多行注釋使用的是3個雙引號該多行注釋使用的是3個雙引號""">>>print('Hello,World!')當(dāng)使用引號進(jìn)行多行注釋時,需要保證前后使用的引號類型一致。前面使用單引號、后面使用雙引號,或前面使用雙引號、后面使用單引號,都是不被允許的。1聲明Python編碼目錄認(rèn)識計(jì)算機(jī)語言2加入代碼注釋3使用多行語句4多行語句一般用于一條語句太長,在一行中寫完會顯得很不美觀的情況。在代碼中使用反斜線(\)可以實(shí)現(xiàn)一條長語句的換行,同時其不會被機(jī)器識別成多條語句,如下所示。使用多行語句>>>total=applePrice+\...bananaPrice+\...pearPrice但是在Python中,方括號([])、花括號({})、圓括號(())里面的多行語句在換行時是不需要使用反斜線的,例如,在方括號中的多行語句可以使用逗號換行,如下所示。>>>total=[applePrice,...bananaPrice,...pearPrice]此外,使用分號(;)可對多條短語句實(shí)現(xiàn)隔離,從而在同一行書寫多條語句,如下所示。一行多條語句,通常在短語句中應(yīng)用得比較廣泛。使用多行語句>>>applePrice=8;bananaPrice=3.5;pearPrice=5創(chuàng)建變量并提取里面的數(shù)值1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價信息4Python變量Python的基礎(chǔ)變量主要有字符型和數(shù)值型兩種,其中數(shù)值型變量又可分為整型(int型)、浮點(diǎn)型(float型)、布爾型(bool型)、復(fù)型(complex型)。在創(chuàng)建變量時不需要聲明數(shù)據(jù)類型,Python能夠自動識別數(shù)據(jù)類型。在Python中,變量不需要提前聲明,創(chuàng)建時直接對其賦值即可,變量類型由賦給變量的值決定。值得注意的是,一旦創(chuàng)建了一個變量,就需要給對應(yīng)變量賦值。Python變量Python中有一種“通俗”的說法是,變量好比一個“標(biāo)簽”,指向內(nèi)存空間的一個特定的地址。創(chuàng)建變量時,系統(tǒng)會自動在機(jī)器的內(nèi)存中給對應(yīng)變量分配一塊內(nèi)存,用于存放變量值,如下圖所示。Python變量通過id函數(shù)可以查看變量創(chuàng)建和變量重新賦值時內(nèi)存空間的變化過程一個變量在初次賦值時將會獲得一塊內(nèi)存空間用來存儲變量值。當(dāng)令變量y等于變量x時,其實(shí)是內(nèi)存地址的傳遞,變量y獲得的是存儲變量x值的內(nèi)存地址,所以當(dāng)變量x的值發(fā)生改變時,變量y的值和其內(nèi)存地址都不會發(fā)生改變。當(dāng)變量x的值發(fā)生改變時,系統(tǒng)會重新分配一塊內(nèi)存空間來存放新的變量值。代碼如下:>>>x=4>>>print(id(x))#查看變量x指向的內(nèi)存地址8791167088512Python變量>>>y=x#將變量x的值重新賦給另一個新變量y>>>print(id(y))8791167088512>>>x=2#對變量x重新賦值>>>print(x,y)#同時輸出變量x和變量y的值(2,4)>>>print(id(x))8791167088448>>>print(id(y)87911670885121.變量名變量的命名必須嚴(yán)格遵守標(biāo)識符的規(guī)則,Python中有一類非關(guān)鍵字的特殊字符串(如內(nèi)置函數(shù)名),這些字符串具有某種特殊功能,雖然將其用作變量名時不會出錯,但會造成相應(yīng)的功能喪失。例如:len函數(shù)可以用于返回字符串長度,但是一旦將len作為變量名,就會失去返回字符串長度的功能。代碼如下:>>>importkeyword#加載keyword庫>>>keyword.iskeyword('and')#判斷“and”是否為保留字TRUE>>>and=
'我是關(guān)鍵字'
#以關(guān)鍵字作為變量名SyntaxError:invalidsyntax1.變量名>>>strExample=
'我是一個字符串'
#創(chuàng)建一個字符串變量>>>print(len(strExample))#使用len函數(shù)查看字符串長度7>>>len='特殊字符串命名'
#使用len作為變量名>>>print(len)#len函數(shù)查看字符串長度會出錯特殊字符串命名>>>print(len(strExample))#len()函數(shù)查看字符串長度出錯TypeError:'str’objectisnotcallable1.變量名如果在一段代碼中有大量變量名,而且這些變量名沒有錯誤,但是其命名隨意、風(fēng)格不一,那么程序開發(fā)人員在解讀代碼時可能會出現(xiàn)一些混淆,下面為一些常用的命名方式:(1)
大駝峰(uppercamelcase)該方法中,所有單詞的首字母都是大寫,例如“MyName”“YourFamily”等。一般用于類的命名。(2)小駝峰(lowercamelcase)該方法中,第一個單詞的首字母為小寫字母,其余單詞的首字母都采用大寫字母,例如“myName”、“youFamily”等。多用與函數(shù)名和變量的命名。1.變量名(3)下劃線(_)分隔該方法中所有單詞都采用小寫字母,中間用下劃線(_)分隔開,例如“my_Name,you_Family”等具體使用哪種方法對變量進(jìn)行命名,并沒有統(tǒng)一的規(guī)定,重要的是一旦選擇了一種命名法,在后續(xù)的程序編寫過程中一定要保持風(fēng)格一致。變量值就是賦給變量的數(shù)據(jù),Python中有6個標(biāo)準(zhǔn)的數(shù)據(jù)類型,分別為數(shù)字(number)、字符串(string)、列表(list)、元組(tuple)、字典(dictionary)、集合(set)。其中,列表、元組、字典、集合屬于復(fù)合數(shù)據(jù)類型。最簡單的變量賦值就是把一個變量值賦給一個變量,只需要用等號即可實(shí)現(xiàn)。變量賦值后,可以使用type函數(shù)查看變量的數(shù)據(jù)類型。2.變量值Python還可以將一個值同時賦給多個變量。將數(shù)字1同時賦給變量a、b、c的方法代碼如下:3.變量賦值>>>a=b=c=1#將一個值同時賦給多個變量>>>print(a)1>>>print(b)13.變量賦值>>>print(c)1>>>print(type(c))<class'int'>如果需要將數(shù)字1、2和字符串“abc”分別賦值給變量a、b、c,就需要使用逗號隔開,代碼如下:3.變量賦值>>>a,b,c=1,2,
'abc'
#將多個值分別賦給多個變量>>>print(a)1>>>print(b)2>>>print(c)
'abc'1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價信息4數(shù)值型變量的相互轉(zhuǎn)換Python3支持的數(shù)值型數(shù)據(jù)類型有整型、浮點(diǎn)型、布爾型、復(fù)型,Python3中的int表示長整型,沒有了Python2中的long。整型指int型,浮點(diǎn)型指既有整數(shù)部分又有小數(shù)部分的float型,這些都是比較容易理解的。布爾型只有True(真)和False(假)兩種取值,True可以等價為數(shù)值1,F(xiàn)alse可以等價為數(shù)值0,并且可以直接使用布爾值進(jìn)行數(shù)學(xué)運(yùn)算。復(fù)型數(shù)據(jù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,其在Python中的結(jié)構(gòu)形式如real+imag(J/j作為后綴),實(shí)數(shù)和虛數(shù)部分都是浮點(diǎn)數(shù)。數(shù)據(jù)類型中文解釋示
例int整型10、100、1000float浮點(diǎn)型1.0、0.11、1e-12bool布爾型True、Falsecomplex復(fù)型1+1j、0.123j、1+0j數(shù)值型變量的相互轉(zhuǎn)換在Python中可以實(shí)現(xiàn)數(shù)值型變量的相互轉(zhuǎn)換,可使用的內(nèi)置函數(shù)有int、float、bool、complex。int函數(shù)類型轉(zhuǎn)換代碼如下:>>>print(int(1.56));print(int(0.156));print(int(-1.56));print(int())#浮點(diǎn)型轉(zhuǎn)整型10-10>>>print(int(True));print(int(False))#布爾型轉(zhuǎn)整型10>>>print(int(1+23j))#復(fù)型轉(zhuǎn)整型TypeError:int()argumentmustbeastring,abytes-likeobjectorarealnumber,not'complex'數(shù)值型變量的相互轉(zhuǎn)換從由浮點(diǎn)型轉(zhuǎn)整型的運(yùn)行結(jié)果可知:在將浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)的過程中,只是簡單地將小數(shù)部分剔除,保留整數(shù)部分,int()函數(shù)的參數(shù)為空時的結(jié)果為0;由布爾型轉(zhuǎn)整型時,布爾值True被轉(zhuǎn)換成整數(shù)1,F(xiàn)alse被轉(zhuǎn)換成整數(shù)0;復(fù)型無法轉(zhuǎn)換為整型。數(shù)值型變量的相互轉(zhuǎn)換bool函數(shù)類型轉(zhuǎn)換代碼如下:>>>print(bool(1));print(bool(2));print(bool(0))#整型轉(zhuǎn)布爾型TrueTrueFalse>>>print(bool(1.0));print(bool(2.3));print(bool(0.0))#浮點(diǎn)型轉(zhuǎn)布爾型TrueTrueFalse數(shù)值型變量的相互轉(zhuǎn)換用bool函數(shù)分別對空、空字符、空列表、空元組、空字典(或集合)進(jìn)行轉(zhuǎn)換時結(jié)果都為False。如果是非空數(shù)據(jù),那么結(jié)果是True(除去數(shù)值為0的情況)。代碼如下:>>>print(bool(1+23j));print(bool(23j))#復(fù)型轉(zhuǎn)布爾型TrueTrue>>>print(bool());print(bool(''));print(bool([]));...print(bool(()));print(bool({}))#各種類型的空值轉(zhuǎn)布爾型FalseFalseFalseFalseFalse數(shù)值型變量的相互轉(zhuǎn)換>>>print(int(1.56));print(int(0.156));print(int(-1.56));print(int())#浮點(diǎn)型轉(zhuǎn)整型10-10>>>print(int(True));print(int(False))#布爾型轉(zhuǎn)整型10>>>print(int(1+23j))#復(fù)型轉(zhuǎn)整型TypeError:int()argumentmustbeastring,abytes-likeobjectorarealnumber,not'complex'1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價信息4相比于數(shù)值型數(shù)據(jù),可以將字符型數(shù)據(jù)理解成一種文本,它的應(yīng)用更加廣泛。Python提供了標(biāo)識字符串的3種方式,分別是使用單引號(')、雙引號(")和三引號('''或""")。1.標(biāo)識字符串(1)單引號使用單引號標(biāo)識字符串的方法是將字符串用單引號包含。Python標(biāo)準(zhǔn)庫允許字符串中包含字母、數(shù)字和各種符號。Python3的默認(rèn)編碼為UTF-8,這意味著在字符串中任意使用中文也不會出錯代碼如下:1.標(biāo)識字符串>>>print('科技是第一生產(chǎn)力')#使用單引號標(biāo)識字符串科技是第一生產(chǎn)力(2)雙引號使用雙引號標(biāo)識字符串的方法與單引號的完全相同。需要注意的是,單引號和雙引號不能混用。代碼如下:1.標(biāo)識字符串>>>print("創(chuàng)新是第一動力")#使用雙引號標(biāo)識字符串創(chuàng)新是第一動力(3)三引號三引號相比單引號或雙引號,有一個比較特殊的功能,它能夠標(biāo)識一個多行字符串,且字符串的換行、縮進(jìn)等格式都會被原封不動地保留。三引號是格式化記錄一段話的好幫手,但要注意前后引號形式要保持一致,不能混用。如下列代碼所示,通過print函數(shù)輸出結(jié)果,可以清楚地看到句子的換行和段落縮進(jìn)等細(xì)節(jié)都保持了原狀。代碼如下:1.標(biāo)識字符串>>>paragraph='''...質(zhì)量強(qiáng)國...網(wǎng)絡(luò)強(qiáng)國...數(shù)字中國'''#3個單引號標(biāo)識的一個字符串>>>print(paragraph)
質(zhì)量強(qiáng)國
網(wǎng)絡(luò)強(qiáng)國
數(shù)字中國1.標(biāo)識字符串當(dāng)使用單引號標(biāo)識一個字符串時,如果該字符串中含有一個單引號,如“What’shappened”,那么Python將不能識別這個字符串從何處開始,又在何處結(jié)束。此時需要用到轉(zhuǎn)義符,即前文提到的反斜線,使單引號只作為純粹的單引號,不具備任何其他作用。代碼如下:2.字符轉(zhuǎn)義>>>print('What'shappened')#單引號標(biāo)識的字符串中含有單引號SyntaxError:unterminatedstringliteral(detectedatline1)>>>print('What\'shappened')#反斜線轉(zhuǎn)義單引號What'shappened2.字符轉(zhuǎn)義>>>print("What'shappened")#雙引號標(biāo)識含有單引號的字符串What'shappened>>>print("Doublequotes(\")")#雙引號標(biāo)識的字符串中含有雙引號Doublequotes(")>>>print('Backslash(\\)')#轉(zhuǎn)義反斜線Backslash(\)比較特殊的是,用雙引號標(biāo)識一個包含單引號的字符串時不需要使用轉(zhuǎn)義符,但是如果其中包含一個雙引號,就需要進(jìn)行轉(zhuǎn)義。另外,反斜線可以用于轉(zhuǎn)義其本身。代碼如下:2.字符轉(zhuǎn)義>>>print('D:\name\python')#含反斜線的特殊字符串D:ame\python>>>print(r'D:\name\python')#用r或R指定原始字符串D:\name\python此外,在Python中還可以通過給字符串加上前綴r或R來指定原始字符串字符串代碼如下:Python對字符串的操作比較靈活,包括提取指定位置的字符、字符串切片和字符串拼接等操作。字符串索引分為正索引和負(fù)索引,通常說的索引是指正索引。在Python中,索引是從0開始的,也就是第一個字符的索引是0,第二個字符的索引是1,以此類推,如下圖所示。很明顯,正索引是從左到右標(biāo)識字符的;負(fù)索引是從右到左標(biāo)識字符的,然后加上一個負(fù)號(-)。負(fù)索引的第一個值是-1,而不是0,因?yàn)槿绻?fù)索引的第一個值是0,那么將會導(dǎo)致索引0指向兩個值,這種情況是不允許的。3.字符串索引在Python中,只需要在變量后面使用方括號將需要提取的字符的索引括起來,即可提取指定位置的字符。具體代碼如下:4.字符串基本操作(1)提取指定位置的字符>>>word='Python'>>>print(word[1])#提取第二個字符'y'>>>print(word[0])#提取第一個字符'P'>>>print(word[-1])#提取最后一個字符'n'字符串切片就是截取字符串的片段,形成子字符串。字符串切片的方式形如s[i:j],s表示字符串,i表示截取字符串的起始索引,j表示結(jié)束索引。需要注意的是,在截取結(jié)果中包含起始字符,但不包含結(jié)束字符,[i:j]是一個前閉后開的區(qū)間。Python在字符串切片的功能上有很好的默認(rèn)設(shè)置。若省略第1個索引,則第1個索引默認(rèn)為0;若省略第2個索引,則第2個索引默認(rèn)為切片字符串的實(shí)際長度,代碼如下:4.字符串基本操作(2)字符串切片>>>print(word[0:3])#截取第1~3個字符'Pyt'>>>print(word[:3])#截取第1~3個字符'Pyt'>>>print(word[4:])#截取第5到最后一個字符'on'對于沒有意義的切片索引,Python還可以進(jìn)行如下處理:當(dāng)?shù)?個索引越界時,將返回從開始索引到字符串實(shí)際結(jié)束位置的子串。當(dāng)?shù)?個索引大于字符串實(shí)際長度時,將返回空字符串;當(dāng)?shù)?個索引為負(fù)數(shù)時,將返回空字符串;當(dāng)?shù)?個索引值大于第2個索引值時,也將返回空字符串,代碼如下:4.字符串基本操作>>print(word[3:52])#第2個索引越界'hon'>>>print(word[52:])#第1個索引大于字符串長度''>>>print(word[-1:3])#第1個索引為負(fù)數(shù),第2個索引正常''>>>print(word[5:3])#第1個索引值大于第2個索引值''在Python中,字符串是不可修改的。因此,如果試圖給指定位置的字符重新賦值,那么運(yùn)行將會出錯,代碼如下:4.字符串基本操作>>>word[0]='p'#字符串不可修改TypeError:'str'objectdoesnotsupportitemassignment如果要修改字符串,那么較好的辦法是重新創(chuàng)建一個字符串。如果只需要改變其中的少部分字符,那么可以使用字符串拼接。當(dāng)進(jìn)行字符串拼接時,可以使用加號(+)將兩個字符串拼接起來,星號(*)表示重復(fù)。另外,相鄰的兩個字符串是會自動拼接在一起的,代碼如下:4.字符串基本操作(3)字符串拼接>>>print('Pythonis'+3*'good')#加號拼接字符串'Pythonisgoodgoodgood'>>>print('踔厲奮發(fā)''勇毅前行')#相鄰字符串自動拼接'踔厲奮發(fā)勇毅前行'將字符串“加快建設(shè)制造強(qiáng)國”修改為“加快建設(shè)質(zhì)量強(qiáng)國”,代碼如下:4.字符串基本操作>>>sentence='加快建設(shè)制造強(qiáng)國'>>>print(sentence[:4]+'質(zhì)量強(qiáng)國')加快建設(shè)質(zhì)量強(qiáng)國在Python中可以使用%、format()方法、f-string等方式將指定的字符串轉(zhuǎn)換為特定的格式。常用格式化符號如下表所示。4.字符串基本操作(4)字符串格式化格式化符號描
述%c將數(shù)據(jù)格式化為字符%s將數(shù)據(jù)格式化為字符串%d將數(shù)據(jù)格式化為整數(shù)%f將數(shù)據(jù)格式化為浮點(diǎn)數(shù),可指定小數(shù)點(diǎn)后的精度,默認(rèn)保留6位小數(shù)使用%進(jìn)行字符串格式化代碼如下:4.字符串基本操作>>>year=2022>>>print("年份:%d"%year)年份:2022>>>Science='科技成果登記數(shù)'>>>quantity=84324>>>print("%d年,中國%s為%d項(xiàng)。"%(year,Science,quantity))2022年,中國科技成果登記數(shù)為84324項(xiàng)。相對于%,format()方法可以更直觀地對字符串進(jìn)行格式化。format()方法的基本語法如下。4.字符串基本操作>>>year=2022>>>product='主要農(nóng)產(chǎn)品產(chǎn)量'>>>quantity=68652.8>>>string="{}年,中國{}為{}萬噸。">>>print(string.format(year,product,quantity))2022年,中國主要農(nóng)產(chǎn)品產(chǎn)量為68652.8萬噸。str.format(value)其中,str為需要格式化的字符串,字符串中可包含多個真實(shí)數(shù)據(jù)的占位符{};value為需要替換的真實(shí)數(shù)據(jù),多個真實(shí)數(shù)據(jù)之間使用逗號分隔。使用format()方法進(jìn)行字符串格式化代碼如下:此外,還可以通過f-string的方式,在字符串中使用{變量名}標(biāo)識需要替換的真實(shí)數(shù)據(jù)及其位置。使用f-string進(jìn)行字符串格式化如下所示。4.字符串基本操作>>>print(f"{year}年,中國{product}為{quantity}萬噸。")2022年,中國主要農(nóng)產(chǎn)品產(chǎn)量為68652.8萬噸。1數(shù)值型變量的相互轉(zhuǎn)換目錄Python變量2字符型數(shù)據(jù)的創(chuàng)建與基本操作3【任務(wù)2-1】提取賬單中的單價信息4【任務(wù)2-1】提取賬單中的單價信息任務(wù)描述小華買特價蘋果,在付款前,想先算一下總價。蘋果價格信息的字符串變量為“Apple'sunitpriceis9yuan.”,需要把單價數(shù)值提取出來,并轉(zhuǎn)換成整型(int)數(shù)據(jù)。任務(wù)分析(1)“Apple'sunitpriceis9yuan.”中含有單引號('),使用反斜杠(\)進(jìn)行轉(zhuǎn)義。(2)使用方括號([])提取字符串中指定位置的字符。(3)使用type函數(shù)查看數(shù)據(jù)類型。(4)使用int函數(shù)將數(shù)據(jù)轉(zhuǎn)換成整型。Python的運(yùn)算符1運(yùn)算符優(yōu)先級目錄常用操作運(yùn)算符2【任務(wù)2-2】計(jì)算圓形的各參數(shù)3【任務(wù)2-3】使用字符串索引計(jì)算n天后是星期幾4Python提供了一系列便利的基礎(chǔ)運(yùn)算符,可用于數(shù)據(jù)分析、研究。可滿足基本運(yùn)算需求的運(yùn)算符主要有算術(shù)運(yùn)算符、比較運(yùn)算符、賦值運(yùn)算符、按位運(yùn)算符、邏輯運(yùn)算符、成員運(yùn)算符、身份運(yùn)算符。常用操作運(yùn)算符算術(shù)運(yùn)算符是用于對操作數(shù)進(jìn)行運(yùn)算的一系列特殊符號,能夠滿足一般的運(yùn)算需求。在Python3中,常用算術(shù)運(yùn)算符表格如下。1.算術(shù)運(yùn)算符運(yùn)
算
符描
述示
例+加,即兩個操作數(shù)相加10+20的輸出結(jié)果為30
減,即得到負(fù)數(shù)或是用一個數(shù)減去另一個數(shù)20-10的輸出結(jié)果為10*乘,即兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串10*20的輸出結(jié)果為200/除,即x除以y20/10的輸出結(jié)果為2.0%取模,即返回除法運(yùn)算中的余數(shù)23%10的輸出結(jié)果為3**冪,即返回x的y次冪2**3的輸出結(jié)果為8//取整除,即返回商的整數(shù)部分23//10的輸出結(jié)果為2在進(jìn)行除法運(yùn)算時,不管商為整數(shù)還是浮點(diǎn)數(shù),輸出結(jié)果始終為浮點(diǎn)數(shù)。如果希望得到整型的商,那么需要用到雙正斜線(//)。對于其他運(yùn)算,只要任一操作數(shù)為浮點(diǎn)數(shù),輸出結(jié)果就是浮點(diǎn)數(shù)。算術(shù)運(yùn)算符的應(yīng)用示例如下。1.算術(shù)運(yùn)算符>>>print(2/1);print(type(2/1))#正斜線除法2.0<class'float'>>>>print(2//1);print(type(2//1))#雙正斜線除法2<class'int'>1.算術(shù)運(yùn)算符>>>print(1+2,'and',1.0+2);print(1*2,'and',1.0*2)#加法和乘法3and3.02and2.0>>>print('23除以10,商為',23//10,',余數(shù)為',23%10)#商和余數(shù)23除以10,商為2,余數(shù)為3>>>print(3*'Python')#字符串的若干次次重復(fù)'PythonPythonPython'比較運(yùn)算符一般用于數(shù)值的比較,也可用于字符的比較。當(dāng)兩個對象的比較結(jié)果為真時返回True,否則返回False。常用比較運(yùn)算符如下。2.比較運(yùn)算符運(yùn)
算
符描
述示
例==等于,即比較對象是否相等(1==2)返回False!=不等于,即比較兩個對象是否不相等(1!=2)返回True>
大于,x>y即返回x是否大于y(1>2)返回False<
小于,x<y即返回x是否小于y(1<2)返回True>=大于或等于,x>=y即返回x是否大于或等于y(1>=2)返回False<=小于或等于,x<=y即返回x是否小于或等于y(1<=2)返回True在Python中,字符是符合ASCII(AmericanStandardCodeforInformationInterchange,美國信息交換標(biāo)準(zhǔn)代碼)的,每個字符都有屬于自己的編碼,字符比較的本質(zhì)是字符的ASCII值的比較。Python提供了以下兩個可以進(jìn)行字符與ASCII值轉(zhuǎn)換的函數(shù)。(1)ord函數(shù):將字符轉(zhuǎn)換為對應(yīng)的ASCII值。(2)chr函數(shù):將ASCII值轉(zhuǎn)換為對應(yīng)的字符。2.比較運(yùn)算符比較運(yùn)算符的應(yīng)用示例如下。2.比較運(yùn)算符>>>print(1==2);print(1!=2)#數(shù)值的比較FalseTrue>>>print('a'=='b','a'!='b');print('a'<'b','a'>'b')#字符的比較FalseTrueTrueFalse>>>print(ord('a'),ord('b'))#查看字符對應(yīng)的ASCII值9798>>>print(chr(97),chr(98))#查看ASCII值對應(yīng)的字符ab>>>print('#'<'%')#符號的比較True賦值運(yùn)算符用于變量的賦值和更新。除了簡單賦值運(yùn)算符外,其他賦值運(yùn)算符都屬于特殊賦值運(yùn)算符。Python中除了簡單賦值運(yùn)算符外,還有一類特殊的賦值運(yùn)算符,如加法賦值運(yùn)算符、減法賦值運(yùn)算符等,具體如下表。3.賦值運(yùn)算符運(yùn)
算
符描
述示
例=簡單賦值運(yùn)算符c=a+b表示將a+b的運(yùn)算結(jié)果賦值給c+=加法賦值運(yùn)算符a+=b相當(dāng)于a=a+b-=減法賦值運(yùn)算符a-=b相當(dāng)于a=a-b*=乘法賦值運(yùn)算符a*=b相當(dāng)于a=a*b/=除法賦值運(yùn)算符a/=b相當(dāng)于a=a/b%=取模賦值運(yùn)算符a%=b相當(dāng)于a=a%b**=冪賦值運(yùn)算符a**=b相當(dāng)于a=a**b//=取整除賦值運(yùn)算符a//=b相當(dāng)于a=a//b表中的特殊賦值運(yùn)算符也可以看作變量的快速更新。更新意味著變量已經(jīng)存在,對于一個之前不存在的變量,則不能使用特殊賦值運(yùn)算符。賦值運(yùn)算符的應(yīng)用示例如下。3.賦值運(yùn)算符>>>a=1+2;print(a)#簡單賦值運(yùn)算3>>>print('a:',a);a+=4;print('a+=4特殊賦值運(yùn)算后,a:',a)#特殊賦值運(yùn)算a:3a+=4特殊賦值運(yùn)算后,a:7>>>f+=4#未定義變量不能進(jìn)行特殊賦值運(yùn)算NameError:name'f'isnotdefined通常情況下,我們使用的都是十進(jìn)制數(shù),按位運(yùn)算符會自動將輸入的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),再進(jìn)行相應(yīng)的運(yùn)算。在示例中,a為60,b為13,它們對應(yīng)的二進(jìn)制數(shù)如下。4.按位運(yùn)算符a=00111100b=000011014.按位運(yùn)算符常用按位運(yùn)算符如下表。運(yùn)
算
符描
述示
例&按位與運(yùn)算符:參與運(yùn)算的兩個運(yùn)算數(shù)的二進(jìn)制數(shù)如果對應(yīng)位都為1,那么結(jié)果的對應(yīng)位為1,否則為0a&b輸出結(jié)果12,二進(jìn)制值:00001100|按位或運(yùn)算符:只要參與運(yùn)算的兩個運(yùn)算數(shù)的二進(jìn)制數(shù)的對應(yīng)位有一個為1,結(jié)果的對應(yīng)位就為1a|b輸出結(jié)果61,二進(jìn)制值:00111101^按位異或運(yùn)算符:當(dāng)兩個參與運(yùn)算的運(yùn)算數(shù)的二進(jìn)制數(shù)的對應(yīng)位相異時,結(jié)果的對應(yīng)位為1a^b輸出結(jié)果49,二進(jìn)制值:00110001~按位取反運(yùn)算符:對運(yùn)算數(shù)的每個二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?~a輸出結(jié)果-61,二進(jìn)制值:11000011<<
左移運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)制位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補(bǔ)0a<<2輸出結(jié)果240,二進(jìn)制值:11110000>>
右移運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)制位全部右移若干位,由“>>”右邊的數(shù)指定移動的位數(shù),低位丟棄,高位補(bǔ)0a>>2輸出結(jié)果15,二進(jìn)制值:00001111按位運(yùn)算符的應(yīng)用示例如代碼如下:4.按位運(yùn)算符>>>a=60;b=13;print('a=60,b=13')#初始賦值a=60,b=13#按位與、按位或、按位異或運(yùn)算>>>print('a&b=',a&b)a&b=12>>>print('a|b=',a|b)a|b=61>>>print('a^b=',a^b)a^b=494.按位運(yùn)算符#按位取反和位移運(yùn)算>>>print('~a=',~a)~a=-61>>>print('a<<2=',a<<2)a<<2=240>>>print('a>>2=',a>>2)a>>2=154.按位運(yùn)算符這里以按位與和按位取反運(yùn)算為例,講解具體的計(jì)算過程。(1)按位與運(yùn)算按位與運(yùn)算:參與運(yùn)算的兩個運(yùn)算數(shù)的二進(jìn)制數(shù)如果對應(yīng)位都為1,則結(jié)果的對應(yīng)位為1,否則為0。如下代碼,a和b從右往左的第3、4位都為1,其余位都沒有同時為1,故對a和b做按位與運(yùn)算的結(jié)果在從右往左第3、4位為1,其余位都為0。a=00111100b=00001101a&b=000011004.按位運(yùn)算符(2)按位取反運(yùn)算按位取反涉及補(bǔ)碼的計(jì)算,相對復(fù)雜。十進(jìn)制數(shù)的二進(jìn)制原碼包括符號位和二進(jìn)制值。以60為例,其二進(jìn)制原碼為“00111100”,從左往右第1位為符號位,其中,0代表正數(shù),1代表負(fù)數(shù)。對于正數(shù)來說,其補(bǔ)碼與二進(jìn)制原碼相同;對于負(fù)數(shù)來說,其補(bǔ)碼為二進(jìn)制原碼符號位保持不變,其余各位取反后再在最后一位加1。4.按位運(yùn)算符對60進(jìn)行取反過程如下。①取60的二進(jìn)制原碼:00111100。②取補(bǔ)碼:00111100。③每一位取反:11000011,得到最終結(jié)果的補(bǔ)碼(負(fù)數(shù))。④取補(bǔ)碼:10111101,得到最終結(jié)果的原碼。⑤轉(zhuǎn)換為十進(jìn)制數(shù):
61。所以60取反后為
61。4.按位運(yùn)算符對
61進(jìn)行取反過程如下。①取
61的二進(jìn)制原碼:10111101。②取補(bǔ)碼:11000011。③每一位取反:00111100,得到最終結(jié)果的補(bǔ)碼(正數(shù))。④取補(bǔ)碼:00111100,得到最終結(jié)果的原碼。⑤轉(zhuǎn)換為十進(jìn)制數(shù):60。所以
61取反后為60。4.按位運(yùn)算符兩個過程很好地展示了正數(shù)和負(fù)數(shù)的按位取反操作,可以總結(jié)為以下5個步驟。①取十進(jìn)制數(shù)的二進(jìn)制原碼。②對原碼取補(bǔ)碼。③補(bǔ)碼取反(得到最終結(jié)果的補(bǔ)碼)。④對取反結(jié)果再取補(bǔ)碼(得到最終結(jié)果的原碼)。⑤將二進(jìn)制原碼轉(zhuǎn)換為十進(jìn)制數(shù)。邏輯運(yùn)算符包括and、or、not,具體用法如下表,示例中a為11,b為22。5.邏輯運(yùn)算符運(yùn)
算
符邏輯表達(dá)式描
述示
例andxandy布爾“與”,若x為False,則返回x;否則返
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)二級JAVA設(shè)計(jì)失誤警示試題及答案
- 邏輯運(yùn)算符應(yīng)用試題及答案
- 計(jì)算機(jī)二級Web開發(fā)技術(shù)試題及答案
- 自然主義文學(xué)的特征文學(xué)概論試題及答案
- 網(wǎng)絡(luò)拓?fù)涫纠囶}及答案
- 計(jì)算機(jī)四級嵌入式實(shí)踐經(jīng)驗(yàn)試題及答案
- 嵌入式系統(tǒng)工程師考試題型及答案
- 計(jì)算機(jī)四級嵌入式考試知識圖譜試題及答案
- 2025版高考生物一輪復(fù)習(xí)第8單元第3講免疫調(diào)節(jié)教學(xué)案蘇教版必修3
- Access表單創(chuàng)建與操作試題及答案解析
- GB/T 11378-2005金屬覆蓋層覆蓋層厚度測量輪廓儀法
- 區(qū)塊鏈金融課件
- DB32T 3842-2020 土工袋護(hù)坡技術(shù)規(guī)范
- 拆除工程原始記錄
- 誰是臥底?班會課游戲
- 神話故事相關(guān)的英語習(xí)語
- 調(diào)味品QS審查細(xì)則
- 《淹溺急救》PPT課件(2022版)
- 四川省職工住房補(bǔ)貼實(shí)施辦法
- 遼寧醫(yī)院明細(xì).xls
- JYC全自動變頻抗干擾介質(zhì)損耗測試儀
評論
0/150
提交評論