《Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第1頁(yè)
《Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第2頁(yè)
《Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第3頁(yè)
《Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第4頁(yè)
《Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩432頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)第1章

認(rèn)識(shí)Python全套可編輯PPT課件知識(shí)目標(biāo)1.什么是Python;2.了解Python在財(cái)務(wù)領(lǐng)域的應(yīng)用;3.了解Python開(kāi)發(fā)環(huán)境及其分類(lèi)。技能目標(biāo)1.能夠下載、安裝Anaconda;2.能夠正確配置JupyterNotebook;3.能夠編輯和運(yùn)行簡(jiǎn)單的筆記本文件。學(xué)習(xí)目標(biāo)全套可編輯PPT課件章節(jié)導(dǎo)圖思考題財(cái)務(wù)人員學(xué)習(xí)Python,用什么軟件好呢?章節(jié)導(dǎo)讀CONTENTS什么是Python01.02.Python在財(cái)務(wù)領(lǐng)域的應(yīng)用Python開(kāi)發(fā)環(huán)境03.全套可編輯PPT課件什么是Python01.Python是一種代表簡(jiǎn)單主義思想的面向?qū)ο蟮慕忉屝途幊陶Z(yǔ)言,它是目前比較流行的編程語(yǔ)言。全套可編輯PPT課件1.1.1Python的發(fā)展史6Python由荷蘭人吉多·范羅蘇姆(GuidovanRossum)于1989年發(fā)明。Python的發(fā)展歷史可以分為以下幾個(gè)階段。(1)Python1.x:1991年至2000年,屬于Python的初始階段,主要實(shí)現(xiàn)了基本的語(yǔ)法結(jié)構(gòu)、數(shù)據(jù)類(lèi)型、異常處理、模塊系統(tǒng)等功能。Python1.0于1994年發(fā)布,Python1.x系列的最后一個(gè)版本Python1.6于2000年發(fā)布。(2)Python2.x:2000年至2020年,屬于Python的成熟階段,主要增加了許多新功能,如Unicode支持、列表推導(dǎo)、垃圾回收機(jī)制、生成器、裝飾器、迭代器協(xié)議、新式類(lèi)等。Python2.0于2000年發(fā)布,Python2.x系列的最后一個(gè)版本Python2.7于2010年發(fā)布。全套可編輯PPT課件1.1.1Python的發(fā)展史7(3)Python3.x:2008年至今,屬于Python的現(xiàn)代階段,主要進(jìn)行了一些重大的優(yōu)化,如移除舊式特性、統(tǒng)一文本和二進(jìn)制數(shù)據(jù)模型、增加類(lèi)型注解、異步編程支持等。Python3.0于2008年發(fā)布,它不完全兼容Python2.x,但提供了實(shí)用工具來(lái)幫助遷移代碼。Python3.6于2016年發(fā)布,引入了利用f-string來(lái)格式化字符串等新特性。Python3.9于2020年發(fā)布,增加了新的語(yǔ)法特性、內(nèi)置特性、標(biāo)準(zhǔn)庫(kù)特性等多項(xiàng)新特性。截至2024年5月,Python3.x系列的最新穩(wěn)定版本是Python3.12。1.1.2Python的特點(diǎn)8簡(jiǎn)單易學(xué)語(yǔ)法簡(jiǎn)潔跨平臺(tái)應(yīng)用廣泛強(qiáng)大的社區(qū)支持Python在財(cái)務(wù)領(lǐng)域的應(yīng)用02.10在數(shù)字經(jīng)濟(jì)時(shí)代,數(shù)據(jù)已成為驅(qū)動(dòng)經(jīng)濟(jì)社會(huì)發(fā)展的新要素、新引擎。由業(yè)務(wù)、財(cái)務(wù)及稅務(wù)等多種來(lái)源的基礎(chǔ)數(shù)據(jù)組成的財(cái)務(wù)大數(shù)據(jù)構(gòu)成了一個(gè)巨大的跨領(lǐng)域、跨平臺(tái)的數(shù)據(jù)生態(tài)體系。如何對(duì)這些海量數(shù)據(jù)進(jìn)行有效的分析與判斷,進(jìn)一步挖掘出其中隱含的價(jià)值,是財(cái)務(wù)數(shù)據(jù)分析面臨的較大挑戰(zhàn)。Python在財(cái)務(wù)領(lǐng)域的應(yīng)用主要有網(wǎng)絡(luò)爬蟲(chóng)、算法應(yīng)用、可視化分析、人工智能和機(jī)器學(xué)習(xí)等。1.2.1網(wǎng)絡(luò)爬蟲(chóng)11使用Python的網(wǎng)絡(luò)爬蟲(chóng)功能,可以快速抓取需要的各類(lèi)網(wǎng)上財(cái)務(wù)報(bào)表數(shù)據(jù),并對(duì)其進(jìn)行財(cái)務(wù)分析和比較,評(píng)估企業(yè)的生產(chǎn)健康狀況和盈利能力,為投資決策提供參考。1.2.2算法應(yīng)用Python通過(guò)其可擴(kuò)展性、高效性和可重用性,提供快速處理數(shù)據(jù)的能力。利用這些特性,財(cái)務(wù)人員可以解決日常工作中遇到的各種復(fù)雜的計(jì)算問(wèn)題,以及財(cái)務(wù)數(shù)據(jù)分析的問(wèn)題。121.2.3可視化分析Python提供了各種可視化工具,如Matplotlib、seaborn等,可以幫助財(cái)務(wù)人員更好地理解數(shù)據(jù),并快速創(chuàng)建高質(zhì)量的圖表和實(shí)現(xiàn)可視化效果。這些工具提供了各種類(lèi)型的圖表,如散點(diǎn)圖、柱形圖、餅圖及熱力圖等,并可以通過(guò)定制顏色、標(biāo)簽、大小等參數(shù)來(lái)定制圖表樣式。1.2.4人工智能和機(jī)器學(xué)習(xí)Python在人工智能和機(jī)器學(xué)習(xí)領(lǐng)域的應(yīng)用非常廣泛。目前在財(cái)務(wù)領(lǐng)域中,利用光學(xué)字符識(shí)別(OpticalCharacterRecognition,OCR)技術(shù)識(shí)別票據(jù)已經(jīng)較為普遍,而利用深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、自然語(yǔ)言處理等技術(shù),還能實(shí)現(xiàn)對(duì)獲取的數(shù)據(jù)進(jìn)行提取、分類(lèi)和分析等。機(jī)器學(xué)習(xí)廣泛應(yīng)用于自動(dòng)化風(fēng)險(xiǎn)管理和反欺詐檢測(cè)等任務(wù),如通過(guò)機(jī)器學(xué)習(xí)算法和模型,Python可以幫助金融機(jī)構(gòu)更好地預(yù)測(cè)市場(chǎng)趨勢(shì)和識(shí)別潛在的欺詐行為。Python開(kāi)發(fā)環(huán)境03.1.3.1認(rèn)識(shí)Python開(kāi)發(fā)環(huán)境14Python開(kāi)發(fā)環(huán)境主要包括兩個(gè)部分:代碼編輯器和代碼解釋器。(1)代碼編輯器:簡(jiǎn)單來(lái)說(shuō)就是一個(gè)文本編輯器,它用來(lái)編寫(xiě)Python程序,其功能類(lèi)似于Windows中的“記事本”。(2)代碼解釋器:運(yùn)行Python程序時(shí),要先運(yùn)行代碼解釋器。通過(guò)代碼解釋器,可以讀取編寫(xiě)的Python程序文件(代碼),讀取后,代碼解釋器先將程序文件中的Python代碼轉(zhuǎn)換成機(jī)器指令(計(jì)算機(jī)能夠理解和執(zhí)行的指令),然后讓計(jì)算機(jī)按照機(jī)器指令的要求去執(zhí)行(操作)。1.3.2Python開(kāi)發(fā)環(huán)境的分類(lèi)15Python開(kāi)發(fā)環(huán)境根據(jù)功能的強(qiáng)弱主要分為兩大類(lèi):簡(jiǎn)易開(kāi)發(fā)環(huán)境和集成開(kāi)發(fā)環(huán)境。常見(jiàn)的Python開(kāi)發(fā)環(huán)境如表1-1所示。1.3.2Python開(kāi)發(fā)環(huán)境的分類(lèi)16由于集成開(kāi)發(fā)環(huán)境功能強(qiáng)大,絕大多數(shù)用戶(hù)在學(xué)習(xí)Python時(shí),首選集成開(kāi)發(fā)環(huán)境。針對(duì)學(xué)習(xí)Python在財(cái)務(wù)領(lǐng)域的應(yīng)用的用戶(hù)來(lái)說(shuō),首選Anaconda中集成的JupyterNotebook作為代碼編輯器,這是因?yàn)樗褂玫氖且粋€(gè)基于瀏覽器的界面,能讓用戶(hù)將說(shuō)明文本、數(shù)學(xué)方程、代碼和可視化輸出等內(nèi)容全部組合到一個(gè)易于共享的文檔中,同時(shí)它具有“所見(jiàn)即所得”的能力,能夠快速得到輸出結(jié)果。1.3.3下載、安裝Anaconda集成開(kāi)發(fā)環(huán)境171.下載Anaconda登錄Anaconda官網(wǎng)并單擊按鈕即可開(kāi)始下載。2.安裝Anaconda下載完成后,在瀏覽器窗口中的“下載”區(qū)域單擊安裝文件下方的“打開(kāi)文件”,如圖1-1所示,即可開(kāi)始安裝。在彈出的圖1-2所示的安裝對(duì)話(huà)框中直接單擊按鈕,彈出圖1-3所示的“最終用戶(hù)許可協(xié)議”對(duì)話(huà)框。1.3.3下載、安裝Anaconda集成開(kāi)發(fā)環(huán)境181.3.3下載、安裝Anaconda集成開(kāi)發(fā)環(huán)境19在彈出的圖1-6所示的選擇Anaconda3與Windows集成方式的高級(jí)安裝選項(xiàng)對(duì)話(huà)框中進(jìn)行如下操作。①保持默認(rèn)選中的“Createstartmenushortcuts(supportedpackagesonly).”復(fù)選框,表示創(chuàng)建“開(kāi)始”菜單快捷方式。②選中“RegisterAnaconda3asmydefaultPython3.11”復(fù)選框,表示注冊(cè)Anaconda3作為默認(rèn)Python3.11解釋器,這是推薦選項(xiàng)。③選中“Clearthepackagecacheuponcompletion”復(fù)選框,表示安裝完成后清除包緩存,它可以在不損害軟件功能的情況下恢復(fù)一定的磁盤(pán)空間,這也是推薦選項(xiàng)。1.3.3下載、安裝Anaconda集成開(kāi)發(fā)環(huán)境201.3.3下載、安裝Anaconda集成開(kāi)發(fā)環(huán)境211.3.4運(yùn)行和配置JupyterNotebook22安裝好Anaconda集成開(kāi)發(fā)環(huán)境后,我們就可以使用集成在Anaconda中的JupyterNotebook了。下面介紹如何運(yùn)行和配置JupyterNotebook。1.運(yùn)行JupyterNotebook運(yùn)行JupyterNotebook主要有以下兩種方法。(1)從“開(kāi)始”菜單中運(yùn)行JupyterNotebook在“開(kāi)始”菜單中直接單擊“JupyterNotebook”,彈出圖1-10所示的JupyterNotebook命令提示符窗口,稍等一會(huì)兒,JupyterNotebook就會(huì)在瀏覽器(默認(rèn)瀏覽器)中啟動(dòng)運(yùn)行了,如圖1-11所示。注意:不能關(guān)閉JupyterNotebook命令提示符窗口,否則JupyterNotebook不能正常運(yùn)行。1.3.4運(yùn)行和配置JupyterNotebook231.3.4運(yùn)行和配置JupyterNotebook242.配置JupyterNotebookJupyterNotebook運(yùn)行后,我們可以看到瀏覽器的地址是“l(fā)ocalhost:8888/tree”,這是JupyterNotebook的默認(rèn)地址,頁(yè)面中顯示的是默認(rèn)地址(文件夾)中的內(nèi)容。編寫(xiě)代碼時(shí),通常不會(huì)使用默認(rèn)文件夾,而是使用自建的文件夾。如果想把自己寫(xiě)的程序文件保存在自己新建的文件夾里,就需要把默認(rèn)目錄修改為自建的文件夾,步驟如下。(1)生成配置文件在“開(kāi)始”菜單中單擊“AnacondaPrompt”,打開(kāi)命令提示符窗口,輸入命令jupyternotebook--generate-config,然后按Enter鍵執(zhí)行。執(zhí)行完后,會(huì)生成一個(gè)名為“jupyter_notebook_config.py”的配置文件,如圖1-13所示。1.3.4運(yùn)行和配置JupyterNotebook25(2)找到配置文件打開(kāi)“.jupyter文件夾(C:\Users\slsyy\.jupyter是JupyterNotebook的默認(rèn)路徑),即可看到生成的配置文件“jupyter_notebook_config.py”,如圖1-14所示。1.3.4運(yùn)行和配置JupyterNotebook26(3)修改配置文件用記事本打開(kāi)此配置文件,并使用搜索功能(按Ctrl+F組合鍵)找到關(guān)鍵詞“#c.NotebookApp.notebook_dir=''”,先刪除前面的“#”,再在后面的單引號(hào)里輸入要設(shè)置的自建文件夾的路徑,修改前后的效果如圖1-15所示。輸入完保存并關(guān)閉文件。這一步操作僅對(duì)從“AnacondaNavigator”窗口中運(yùn)行JupyterNotebook起作用,如果想對(duì)從“開(kāi)始”菜單中運(yùn)行JupyterNotebook起作用,還需要修改快捷方式。1.3.4運(yùn)行和配置JupyterNotebook27注意,新版本的關(guān)鍵詞是“#c.ServerApp.notebook_dir=‘’”,如下圖所示。修改前修改后1.3.4運(yùn)行和配置JupyterNotebook28(4)修改快捷方式在“開(kāi)始”菜單中右擊“JupyterNotebook”,在彈出的快捷菜單中選擇“更多”>“打開(kāi)文件位置”,在打開(kāi)的窗口中右擊“JupyterNotebook”快捷方式,選擇“屬性”,在打開(kāi)的窗口中將“目標(biāo)”文本框中的"%USERPROFILE%/"部分修改為“C:\Python\代碼”,然后單擊“確定”按鈕。再次打開(kāi)JupyterNotebook后,就會(huì)發(fā)現(xiàn)瀏覽器默認(rèn)路徑顯示的是自建文件夾路徑里的內(nèi)容,如圖1-16所示。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序29將JupyterNotebook的默認(rèn)工作路徑修改為自建文件夾的路徑后,我們就可以在其中編寫(xiě)Python程序了。1.建立文件夾通常在JupyterNotebook中編寫(xiě)程序時(shí),都會(huì)分門(mén)別類(lèi)地把它們存放在不同的文件夾中,而不是都存放在自建文件夾的根目錄下。所以編程前,首先要建立存放該程序的文件夾。建立文件夾的步驟如下。(1)通過(guò)“Folder”創(chuàng)建文件夾在瀏覽器右側(cè)的“New”下拉列表中單擊“Folder”,如圖1-17所示,系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)名稱(chēng)為“UntitledFolder”的文件夾,如圖1-18所示。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序30注意,如果使用的是新版本的JupyterNotebook,圖1-17中可能不顯示運(yùn)行內(nèi)核“Python3(ipykernel)”,如下圖左(一)所示,為了確保運(yùn)行內(nèi)核為“Python3(ipykernel)”,需要單擊【Notebook】選項(xiàng),在彈出的【SelectKernel】對(duì)話(huà)框中選擇【Python3(ipykernel)】,如下圖左(二),最后單擊【Select】即可,如下圖右(一)。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序311.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序321.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序332.建立筆記本文件建立“測(cè)試”文件夾后,就可以在該文件夾中建立筆記本文件了。建立筆記本文件的步驟如下。(1)通過(guò)“Folder”創(chuàng)建筆記本文件單擊“測(cè)試”文件夾,進(jìn)入該文件夾中,然后在右側(cè)的“New”下拉列表(見(jiàn)圖1-17)中單擊“Python3(ipykernel)”,系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)名稱(chēng)為“Untitled.ipynb”的筆記本文件,并在新的標(biāo)簽頁(yè)中打開(kāi)它,具體步驟如圖1-22所示。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序341.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序35(2)重命名筆記本文件為了體現(xiàn)筆記本文件的含義,一般需要重命名“Untitled.ipynb”筆記本文件。在打開(kāi)的“Untitled-JupyterNotebook”標(biāo)簽頁(yè)中單擊左上角的“Untitled”,或者依次單擊“File”>“Rename”,都可彈出圖1-23所示的“重命名筆記本”對(duì)話(huà)框。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序361.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序373.編輯、運(yùn)行筆記本文件筆記本文件主要由Python代碼、Markdown和輸出結(jié)果3部分組成。在圖1-24所示的編輯區(qū)域中,左側(cè)有個(gè)標(biāo)識(shí)為“In[]:”的單元格(Cell),這里就是輸入Python語(yǔ)句或Markdown內(nèi)容的區(qū)域,我們可以在其中輸入任意合法的Python語(yǔ)句或Markdown內(nèi)容。(1)輸入Python語(yǔ)句在第一個(gè)單元格中輸入Python語(yǔ)句“print('這是我的第一個(gè)Python語(yǔ)句!')”,該語(yǔ)句的功能是輸出print()函數(shù)中字符串的內(nèi)容,如圖1-25所示。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序381.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序39(3)輸入Markdown內(nèi)容使用JupyterNotebook做財(cái)務(wù)應(yīng)用時(shí),通常會(huì)在筆記本文件里既編寫(xiě)Python語(yǔ)句實(shí)現(xiàn)功能,又撰寫(xiě)和分享編程項(xiàng)目文檔、學(xué)習(xí)筆記和教程等,便于以后閱讀、學(xué)習(xí)和交流。輸入Markdown內(nèi)容的方法和輸入Python語(yǔ)句的方法一樣,只是對(duì)輸入的Markdown內(nèi)容沒(méi)有限制。具體操作如下。1.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序401.3.5在JupyterNotebook中編寫(xiě)第一個(gè)Python程序41實(shí)訓(xùn)1在自己的計(jì)算機(jī)上安裝Anaconda【實(shí)訓(xùn)目標(biāo)】在自己的計(jì)算機(jī)上安裝Anaconda?!緦?shí)訓(xùn)思路】①?gòu)墓倬W(wǎng)下載;②雙擊安裝文件安裝;③配置JupyterNotebook。項(xiàng)目實(shí)訓(xùn)實(shí)訓(xùn)2輸出財(cái)務(wù)經(jīng)典語(yǔ)錄【實(shí)訓(xùn)目標(biāo)】在JupyterNotebook中創(chuàng)建筆記本文件,要求輸入標(biāo)題、正文并輸出語(yǔ)句?!緦?shí)訓(xùn)思路】參考1.3.5小節(jié)。項(xiàng)目實(shí)訓(xùn)課堂素養(yǎng)財(cái)務(wù)大數(shù)據(jù)技術(shù)的戰(zhàn)略意義財(cái)務(wù)大數(shù)據(jù)技術(shù)的戰(zhàn)略意義不在于掌握龐大的財(cái)務(wù)數(shù)據(jù)信息,而在于對(duì)這些有意義的財(cái)務(wù)數(shù)據(jù)進(jìn)行專(zhuān)業(yè)化處理。換言之,如果把財(cái)務(wù)大數(shù)據(jù)比作一種產(chǎn)業(yè),那么這種產(chǎn)業(yè)實(shí)現(xiàn)盈利的關(guān)鍵在于提高對(duì)財(cái)務(wù)數(shù)據(jù)的“加工能力”,通過(guò)“加工”實(shí)現(xiàn)財(cái)務(wù)數(shù)據(jù)的“增值”。感謝觀看!Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)第2章

Python語(yǔ)法基礎(chǔ)知識(shí)目標(biāo)1.掌握輸入、輸出函數(shù)及注釋的相關(guān)知識(shí);2.掌握變量、基本數(shù)據(jù)類(lèi)型及常用運(yùn)算符的相關(guān)知識(shí);3.掌握高級(jí)數(shù)據(jù)類(lèi)型的相關(guān)知識(shí)。技能目標(biāo)1.能夠根據(jù)需要從鍵盤(pán)輸入數(shù)據(jù),并能將結(jié)果輸出;2.能夠在程序必要的地方添加注釋以增加閱讀性;3.能夠根據(jù)需要定義變量并賦值;4.能夠完成高級(jí)數(shù)據(jù)類(lèi)型的定義與操作。學(xué)習(xí)目標(biāo)章節(jié)導(dǎo)圖思考題1.我們編寫(xiě)了代碼,過(guò)段時(shí)間通常會(huì)忘記當(dāng)時(shí)是怎么設(shè)計(jì)的,如何避免這種情況呢?2.在財(cái)務(wù)工作中,有些數(shù)據(jù)之間是一一對(duì)應(yīng)的,例如,會(huì)計(jì)科目編碼和會(huì)計(jì)科目名稱(chēng),那么在Python中能表示這種對(duì)應(yīng)的數(shù)據(jù)嗎?章節(jié)導(dǎo)讀CONTENTS輸出和輸入01.02.注釋變量03.常用運(yùn)算符05.06.基本數(shù)據(jù)類(lèi)型:字符串高級(jí)數(shù)據(jù)類(lèi)型07.基本數(shù)據(jù)類(lèi)型:數(shù)值04.輸出和輸入01.輸出指的是屏幕上的輸出結(jié)果,而輸入指的是從鍵盤(pán)接收數(shù)據(jù)。從第一Python程序開(kāi)始,我們一直使用print()函數(shù)向屏幕輸出數(shù)據(jù),該函數(shù)就是Python的輸出函數(shù)。Python還提供input()函數(shù),用于接收用戶(hù)從鍵盤(pán)輸入的數(shù)據(jù)。2.1.1輸出函數(shù)print()51print()函數(shù)的輸出內(nèi)容有以下幾種。2.1.1輸出函數(shù)print()522.1.1輸出函數(shù)print()532.1.1輸出函數(shù)print()542.1.2輸入函數(shù)input()552.1.3課堂實(shí)驗(yàn)——輸出公司三大財(cái)務(wù)報(bào)表56【實(shí)驗(yàn)內(nèi)容】輸出公司三大財(cái)務(wù)報(bào)表。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】使用print()函數(shù)。注釋02.注釋是對(duì)一行或一段代碼的解釋和說(shuō)明,它可以提高代碼的可讀性,讓人們能夠更加輕松地了解代碼所實(shí)現(xiàn)的功能。注釋的內(nèi)容將被Python的解釋器忽略,并不會(huì)被執(zhí)行。在Python中,注釋通常包括單行注釋和多行注釋兩種類(lèi)型。2.2.1單行注釋58單行注釋用符號(hào)“#”表示,從符號(hào)“#”開(kāi)始直到換行為止,“#”后面的所有內(nèi)容都為注釋。單行注釋既可以作為單獨(dú)一行放在被注釋代碼語(yǔ)句之上,又可以放在被注釋代碼語(yǔ)句之后。2.2.2多行注釋59多行注釋是指包含在一對(duì)三個(gè)單引號(hào)(''')或三個(gè)雙引號(hào)(""")之間的多行內(nèi)容,它位于被注釋代碼語(yǔ)句(或語(yǔ)段)前。當(dāng)注釋內(nèi)容過(guò)多,使用單行注釋顯示不完整時(shí),就可以使用多行注釋。2.2.3課堂實(shí)驗(yàn)——為短期借款、應(yīng)付票據(jù)、應(yīng)付賬款添加注釋60【實(shí)驗(yàn)內(nèi)容】為短期借款(79670萬(wàn)元)、應(yīng)付票據(jù)(58210元)、應(yīng)付賬款(27970萬(wàn)元)添加注釋。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】由于需要為短期借款、應(yīng)付票據(jù)、應(yīng)付賬款3行代碼段添加注釋?zhuān)孕枰褂枚嘈凶⑨?。變?3.顧名思義,變量是指其值可以被改變的量。變量可以看作Excel中的一個(gè)單元格,專(zhuān)門(mén)用來(lái)“盛裝”程序中的數(shù)據(jù)。每個(gè)變量都擁有獨(dú)一無(wú)二的名字(相當(dāng)于Excel單元格地址),通過(guò)變量的名字就能找到變量中的數(shù)據(jù)。2.3.1變量賦值62在Python中,將數(shù)據(jù)存入變量的過(guò)程稱(chēng)為賦值(相當(dāng)于往Excel某個(gè)單元格中輸入數(shù)據(jù))。變量的賦值用等號(hào)“=”(不是數(shù)學(xué)中“等于”的意思)來(lái)完成,其語(yǔ)法格式如下。2.3.1變量賦值63在Python中,同一個(gè)變量可以反復(fù)被賦值(相當(dāng)于Excel單元格中的值可以反復(fù)被更改),并允許被賦予不同數(shù)據(jù)類(lèi)型的值。2.3.1變量賦值64為了更好地理解例2-8中代碼的含義,下面對(duì)每段代碼進(jìn)行解讀,并給出示意圖。第1段代碼中的assets=727語(yǔ)句可以理解為給某個(gè)單元格起名assets,并往該單元格中輸入727,如圖2-1所示。2.3.1變量賦值65第2段代碼中的assets=assets+900語(yǔ)句可以理解為先將單元格assets中的值取出來(lái)并與900相加,再寫(xiě)回該單元格中,如圖2-2所示。2.3.1變量賦值66第3段代碼中的assets="資產(chǎn)"語(yǔ)句可以理解為把“資產(chǎn)”寫(xiě)入單元格assets(覆蓋掉原先的值),如圖2-3所示。通過(guò)例2-8總結(jié)如下。①變量的值不是一成不變的,它可以隨時(shí)被修改;另外,不用關(guān)心數(shù)據(jù)的類(lèi)型,可以將不同類(lèi)型的數(shù)據(jù)賦值給同一個(gè)變量。②變量的值一旦被修改,之前的值就被覆蓋了。也就是說(shuō),一個(gè)變量只能容納一個(gè)值。2.3.2變量命名規(guī)則67在Python中,給變量命名要遵守一定的規(guī)則,違反這些規(guī)則將引發(fā)錯(cuò)誤。具體命名規(guī)則如下。2.3.2變量命名規(guī)則682.3.2變量命名規(guī)則69除了以上命名規(guī)則外,我們?cè)诮o變量命名的時(shí)候還要養(yǎng)成以下好習(xí)慣。①變量名要見(jiàn)名知意,即用英文單詞或單詞縮寫(xiě)作為變量名。②當(dāng)變量名由兩個(gè)或兩個(gè)以上的單詞組成時(shí),采用駝峰式命名法命名,即第一個(gè)單詞的首字母小寫(xiě),后續(xù)單詞的首字母大寫(xiě)。例如,otherMonetaryFunds(其他貨幣資金)。另外要注意各單詞之間不能有空格,否則會(huì)引發(fā)錯(cuò)誤。2.3.3課堂實(shí)驗(yàn)——為公司所有者權(quán)益變量命名并賦值70【實(shí)驗(yàn)內(nèi)容】為公司所有者權(quán)益變量命名并賦值為168670。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】使用所有者權(quán)益的英文單詞作為變量的名字,并采用駝峰式命名法命名。基本數(shù)據(jù)類(lèi)型:

數(shù)值04.對(duì)于財(cái)務(wù)人員來(lái)說(shuō),基本每天都要與數(shù)字打交道,比如日常收付款、材料采購(gòu)、固定資產(chǎn)等。當(dāng)用Python來(lái)處理這些數(shù)字的時(shí)候,我們就需要對(duì)這些數(shù)字進(jìn)行數(shù)據(jù)分類(lèi)。數(shù)字在Python中被分為數(shù)值類(lèi)型,它是Python兩種基本數(shù)據(jù)類(lèi)型之一。2.4.1數(shù)值的分類(lèi)72Python中常見(jiàn)的數(shù)值類(lèi)型包括整型(int)、浮點(diǎn)型(float)和布爾型(bool)。1.整型整型數(shù)值與數(shù)學(xué)中的整數(shù)一樣,是指不帶小數(shù)點(diǎn)的數(shù)字,包括正整數(shù)、負(fù)整數(shù)和0。整型的英文名為integer,簡(jiǎn)稱(chēng)int。例如,10、0、-48都為整型數(shù)值。2.浮點(diǎn)型浮點(diǎn)型數(shù)值與數(shù)學(xué)中的小數(shù)一樣,是指帶小數(shù)點(diǎn)的數(shù)字,在財(cái)務(wù)數(shù)據(jù)中用得最多。浮點(diǎn)型的英文名為float。例如,19.3、-4.235都為浮點(diǎn)型數(shù)值。3.布爾型Python提供布爾型(bool)數(shù)值來(lái)表示真(對(duì))或假(錯(cuò))。比如6>3是正確的,在Python中使用True來(lái)表示;再比如7>20是錯(cuò)誤的,在Python中使用False來(lái)表示。另外,布爾型數(shù)值可以當(dāng)作整型數(shù)值,即True相當(dāng)于整型數(shù)值1,F(xiàn)alse相當(dāng)于整型數(shù)值0。需要注意的是:True和False的首字母要用大寫(xiě),否則會(huì)報(bào)錯(cuò)。2.4.2查看數(shù)值類(lèi)型73在Python中,可以使用type()函數(shù)查看數(shù)值類(lèi)型?!纠?-9】使用type()函數(shù)查看數(shù)值類(lèi)型。(代碼位置:資源\第2章)2.4.3課堂實(shí)驗(yàn)——查看公司應(yīng)收利息的數(shù)值類(lèi)型74【實(shí)驗(yàn)內(nèi)容】輸出公司應(yīng)收利息273.817萬(wàn)元的數(shù)值類(lèi)型。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】①輸出內(nèi)容同時(shí)含有數(shù)值和字符串,各部分之間用逗號(hào)隔開(kāi);②用type()函數(shù)輸出273.817的數(shù)值類(lèi)型。常用運(yùn)算符05.Python提供了豐富的運(yùn)算符來(lái)完成各種數(shù)值之間的運(yùn)算。常用的運(yùn)算符包括算術(shù)運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、成員運(yùn)算符與身份運(yùn)算符。使用運(yùn)算符將不同類(lèi)型的數(shù)值按照一定的規(guī)則連接起來(lái)的式子稱(chēng)為表達(dá)式。2.5.1算術(shù)運(yùn)算符76算術(shù)運(yùn)算符用于兩個(gè)數(shù)值間的基本算術(shù)運(yùn)算(類(lèi)似數(shù)學(xué)中的加、減、乘、除運(yùn)算),其運(yùn)算結(jié)果為數(shù)值,如表2-2所示。2.5.2賦值運(yùn)算符77賦值運(yùn)算符主要用來(lái)為變量賦值,它分為兩類(lèi):基本賦值運(yùn)算符和擴(kuò)展賦值運(yùn)算符?;举x值運(yùn)算符在2.3.1小節(jié)中已經(jīng)介紹過(guò),這里不贅述。擴(kuò)展賦值運(yùn)算符是由賦值運(yùn)算符與算術(shù)運(yùn)算符組合而成的一種復(fù)合運(yùn)算符,如表2-3所示。2.5.2賦值運(yùn)算符782.5.3比較運(yùn)算符79比較運(yùn)算符也稱(chēng)關(guān)系運(yùn)算符,用于對(duì)常量、變量或表達(dá)式的結(jié)果進(jìn)行比較。如果這種比較是成立的,則返回True(真),反之則返回False(假)。比較運(yùn)算符如表2-4所示。2.5.4邏輯運(yùn)算符80邏輯運(yùn)算符通常用于對(duì)布爾值進(jìn)行運(yùn)算,它一般和關(guān)系運(yùn)算符結(jié)合使用,其結(jié)果也是布爾值。邏輯運(yùn)算符如表2-5所示。2.5.4邏輯運(yùn)算符81【例2-10】輸出由比較運(yùn)算符和邏輯運(yùn)算符組成的邏輯表達(dá)式的值。(代碼位置:資源\第2章)2.5.5成員運(yùn)算符與身份運(yùn)算符82成員運(yùn)算符與身份運(yùn)算符是Python中的特殊運(yùn)算符。成員運(yùn)算符主要用于判斷某個(gè)值是否為某個(gè)序列的成員;身份運(yùn)算符主要用于判斷兩個(gè)變量是否引用自同一個(gè)對(duì)象,如表2-6所示。2.5.5成員運(yùn)算符與身份運(yùn)算符83【例2-11】判斷'財(cái)務(wù)分析'是否是'2022年度企業(yè)財(cái)務(wù)分析'的一部分,并輸出結(jié)果。(代碼位置:資源\第2章)【例2-12】判斷'2021年度企業(yè)財(cái)務(wù)分析'與'2022年度企業(yè)財(cái)務(wù)分析'這兩個(gè)字符串是否相同,并輸出結(jié)果。(代碼位置:資源\第2章)2.5.6運(yùn)算符的優(yōu)先級(jí)84運(yùn)算符的優(yōu)先級(jí)指的是在含有多個(gè)運(yùn)算符的表達(dá)式中,應(yīng)該先計(jì)算哪一個(gè),后計(jì)算哪一個(gè),這與數(shù)學(xué)中四則運(yùn)算應(yīng)遵循“先乘除,后加減”的規(guī)則類(lèi)似。Python中運(yùn)算符的運(yùn)算規(guī)則如下。①優(yōu)先級(jí)高的運(yùn)算符先執(zhí)行,優(yōu)先級(jí)低的運(yùn)算符后執(zhí)行。②同一優(yōu)先級(jí)的運(yùn)算符按照從左到右的順序執(zhí)行。③圓括號(hào)“()”可改變優(yōu)先級(jí),即有圓括號(hào)就先執(zhí)行圓括號(hào)里的運(yùn)算符;有多個(gè)圓括號(hào)嵌套,則先計(jì)算最里面的圓括號(hào),再計(jì)算外面的圓括號(hào)。需要注意的是,Python中大部分運(yùn)算符都是從左向右執(zhí)行的,只有單目運(yùn)算符(如not)、賦值運(yùn)算符和三目運(yùn)算符例外,它們是從右向左執(zhí)行的。2.5.6運(yùn)算符的優(yōu)先級(jí)852.5.6運(yùn)算符的優(yōu)先級(jí)862.5.7課堂實(shí)驗(yàn)——計(jì)算工資實(shí)發(fā)金額87【實(shí)驗(yàn)內(nèi)容】某公司員工李莎莎的工資組成如表2-8所示,其中,業(yè)績(jī)工資=銷(xiāo)售額×提成比例,李莎莎的銷(xiāo)售額為100000元,提成比例為2%,未請(qǐng)假。計(jì)算并輸出李莎莎的實(shí)發(fā)工資。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】①根據(jù)公式計(jì)算出業(yè)績(jī)工資;②計(jì)算實(shí)發(fā)工資,實(shí)發(fā)工資=基本工資+職級(jí)工資+全勤獎(jiǎng)+津貼+業(yè)績(jī)工資-請(qǐng)假扣款-扣社保。基本數(shù)據(jù)類(lèi)型:

字符串06.使用Python處理財(cái)務(wù)業(yè)務(wù),雖然大部分工作是用在計(jì)算方面的,但是有時(shí)也需要處理非計(jì)算方面的文本。文本在Python中被稱(chēng)為字符串,它是另外一種基本數(shù)據(jù)類(lèi)型。2.6.1字符串的定義89字符串是由字母、數(shù)字、符號(hào)、中文等各種文字組合而成的,它是用來(lái)表示文本的一種數(shù)據(jù)類(lèi)型。字符串根據(jù)其內(nèi)容的多少,分為單行字符串和多行字符串。單行字符串需置于一對(duì)英文引號(hào)內(nèi),可為單引號(hào)或雙引號(hào),二者作用相同,但不能混用,即不能一個(gè)單引號(hào)一個(gè)雙引號(hào)成對(duì)使用。多行字符串可以用三單引號(hào)或三雙引號(hào)引起來(lái),二者同樣不能混用。2.6.1字符串的定義90【例2-13】顯示單行字符串和多行字符串。(代碼位置:資源\第2章)2.6.2字符串的基本操作91下面介紹字符串的基本操作。1.字符串索引號(hào)字符串中的每個(gè)字符(元素)都有一個(gè)序號(hào),通過(guò)這個(gè)序號(hào)我們可以快速找到對(duì)應(yīng)字符,這個(gè)序號(hào)在Python中被稱(chēng)為索引號(hào)。字符串的索引號(hào)有兩種:正向遞增索引號(hào)和反向遞減索引號(hào)。正向遞增索引號(hào)是從左往右編號(hào),默認(rèn)從0開(kāi)始;反向遞減索引號(hào)是從右往左編號(hào),默認(rèn)從-1開(kāi)始。以字符串“銀行存款177萬(wàn)元”為例,其各個(gè)字符對(duì)應(yīng)的正向遞增索引號(hào)和反向遞減索引號(hào)如圖2-4所示。2.6.2字符串的基本操作922.字符串索引對(duì)字符串中某個(gè)字符的檢索稱(chēng)為索引。其格式如下。【例2-14】輸出字符串'銀行存款177萬(wàn)元'中索引號(hào)為3和-6的字符。(代碼位置:資源\第2章)2.6.2字符串的基本操作933.字符串切片對(duì)字符串中某個(gè)子串的檢索稱(chēng)為切片。其格式如下。【例2-15】從字符串'銀行存款177萬(wàn)元'中截取字符串。(代碼位置:資源\第2章)2.6.2字符串的基本操作944.字符串操作符針對(duì)字符串,Python提供了表2-9所示的兩個(gè)操作符。2.6.2字符串的基本操作955.格式化字符串格式化字符串是指讓輸出結(jié)果以指定的格式顯示。Python提供兩種格式化字符串的方法:一種是使用占位符(%),另一種是使用format()函數(shù)。使用占位符格式化字符串是指使用一個(gè)包含占位符的字符串作為模板,用占位符標(biāo)記指定位置,通過(guò)對(duì)占位符賦值,重復(fù)輸出格式固定但內(nèi)容不同的文本。常見(jiàn)的占位符如表2-10所示。2.6.2字符串的基本操作96【例2-16】使用占位符格式化輸出字符串'公司2022年第2季度銀行存款余額為17287.68元'。(代碼位置:資源\第2章)2.6.2字符串的基本操作97format()函數(shù)與占位符的作用類(lèi)似,只是使用“{}”和“:”代替占位符。使用該函數(shù)格式化字符串時(shí)可以指定參數(shù)名、索引、數(shù)字等,它比占位符支持更多的功能。下面通過(guò)一個(gè)具體的案例來(lái)介紹format()函數(shù)的幾種主要用法?!纠?-17】使用format()函數(shù)格式化輸出字符串'公司2022年第2季度銀行存款余額為17287.68元'。(代碼位置:資源\第2章)2.6.2字符串的基本操作982.6.3課堂實(shí)驗(yàn)——格式化公司應(yīng)收賬款99【實(shí)驗(yàn)內(nèi)容】使用format()函數(shù)格式化字符串“公司2023年第1季度應(yīng)收賬款為7906072.57元”,其中金額以貨幣形式顯示。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】金額需要使用千位符,保留兩位小數(shù)。高級(jí)數(shù)據(jù)類(lèi)型07.2.4節(jié)和2.6節(jié)介紹了兩種基本的數(shù)據(jù)類(lèi)型:數(shù)值和字符串。使用它們可以完成很多功能。但要實(shí)現(xiàn)更強(qiáng)大、更復(fù)雜的功能,僅靠這兩種數(shù)據(jù)類(lèi)型是不夠的,還需要使用列表、元組、字典以及集合等高級(jí)數(shù)據(jù)類(lèi)型才能完成。這4種數(shù)據(jù)類(lèi)型總體上都起存放成組數(shù)據(jù)的作用,但都有各自的特點(diǎn),下面分別介紹。2.7.1列表101例如,[1,2,3,4,5]和['資產(chǎn)負(fù)債表','利潤(rùn)表','現(xiàn)金流量表']都是列表。需要注意的是,在使用列表時(shí),雖然可以將不同類(lèi)型的數(shù)據(jù)放入同一個(gè)列表,但通常情況下不要這么做,因?yàn)橥粋€(gè)列表中只放入同一類(lèi)型的數(shù)據(jù),可以提高程序的可讀性。列表是Python用來(lái)將多個(gè)數(shù)據(jù)(也稱(chēng)為元素)按一定順序排列并存儲(chǔ)為一個(gè)數(shù)據(jù)的數(shù)據(jù)類(lèi)型,其中的數(shù)據(jù)既可以是數(shù)值或字符串等基本數(shù)據(jù)類(lèi)型,又可以是列表、元組、字典等高級(jí)數(shù)據(jù)類(lèi)型。它的所有元素都放在一對(duì)中括號(hào)“[]”中,并使用逗號(hào)分隔,其格式如下。2.7.1列表1021.訪問(wèn)列表與字符串類(lèi)似,列表中的每個(gè)元素也有正向遞增索引號(hào)和反向遞減索引號(hào),且默認(rèn)正向遞增索引號(hào)是從0開(kāi)始,反向遞減索引號(hào)從-1開(kāi)始,如圖2-5所示。2.7.1列表103用戶(hù)可以通過(guò)索引或切片來(lái)訪問(wèn)列表中的元素。(1)利用索引訪問(wèn)列表中的單個(gè)元素【例2-18】獲取['資產(chǎn)負(fù)債表','利潤(rùn)表','現(xiàn)金流量表']列表中的第2個(gè)元素。(代碼位置:資源\第2章)2.7.1列表104(2)利用切片訪問(wèn)列表中的多個(gè)元素【例2-19】獲取['庫(kù)存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)','應(yīng)收票據(jù)','應(yīng)收賬款']列表中的前2個(gè)元素、第3~5個(gè)元素、后3個(gè)元素。(代碼位置:資源\第2章)2.7.1列表1052.增加列表元素增加列表元素的常用方法如表2-11所示。2.7.1列表106【例2-20】分別使用append()、insert()、extend()及“+”4種方法為列表添加元素。(代碼位置:資源\第2章)2.7.1列表1072.7.1列表1083.修改列表元素通過(guò)對(duì)指定索引號(hào)處的列表元素重新賦值,可修改該列表元素。【例2-21】將列表['庫(kù)存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']的第3項(xiàng)修改為'應(yīng)收票據(jù)'。(代碼位置:資源\第2章)2.7.1列表1094.查找列表元素通過(guò)以下兩種方法可以查找列表元素。(1)通過(guò)index()方法查找指定列表元素【例2-22】查找列表['庫(kù)存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']中'銀行存款'元素的索引號(hào)并返回。(代碼位置:資源\第2章)2.7.1列表110(2)通過(guò)in運(yùn)算符判斷列表中是否存在指定列表元素【例2-23】判斷列表['庫(kù)存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']中是否存在'銀行存款'、'應(yīng)收票據(jù)'。(代碼位置:資源\第2章)2.7.1列表1115.刪除列表元素刪除列表元素的常用方法如表2-12所示。2.7.1列表112【例2-24】使用表2-12中的4種方法刪除['庫(kù)存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']列表中指定的元素。(代碼位置:資源\第2章)2.7.1列表1136.列表排序列表排序的常用方法如表2-13所示。【例2-25】分別對(duì)數(shù)字列表、英文字符串列表進(jìn)行升序排列。(代碼位置:資源\第2章)(1)數(shù)字列表升序排列對(duì)數(shù)字列表進(jìn)行升序排列,就是對(duì)各元素按照其數(shù)值從小到大排列。2.7.1列表114(2)英文字符串列表升序排列對(duì)英文字符串列表進(jìn)行升序排列,就是對(duì)各元素按照其ASCII碼從小到大的順序排列。通常記住以下規(guī)律即可。①?gòu)?A'到'Z'的26個(gè)大寫(xiě)英文字母,'A'的ASCII碼最小,'Z'的ASCII碼最大,即'A'<'B'<'C'<…<'Z'。26個(gè)小寫(xiě)英文字母也具有這個(gè)規(guī)律,即'a'<'b'<'c'<…<'z',且'Z'<'a'。②數(shù)字字符排序時(shí),也是按照其ASCII碼的大小進(jìn)行排序,其規(guī)律是'0'<'1'<…<'9',且'9'<'A'。③兩個(gè)英文字符串比較大?。合缺容^首字符,其ASCII碼大的字符串大;首字符相同,就比較第二個(gè)字符,其ASCII碼大的字符串大;以此類(lèi)推。如果比較到最后一個(gè)字符都相同,則字符串長(zhǎng)的字符串大。2.7.1列表1152.7.1列表1162.7.2元組117元組是和列表非常相似的一種數(shù)據(jù)類(lèi)型,它與列表的區(qū)別如下。①列表使用[]表示,而元組使用()表示。②列表是可變數(shù)據(jù)類(lèi)型,可對(duì)其元素進(jìn)行增、刪、改等操作,而元組是不可變數(shù)據(jù)類(lèi)型,一旦初始化,就不能改變,不能對(duì)其元素進(jìn)行增、刪、改等操作。③元組不能排序。1.訪問(wèn)元組訪問(wèn)元組的方法與列表的相同。用戶(hù)可以通過(guò)索引或切片訪問(wèn)元組中的元素?!纠?-26】獲取('主營(yíng)業(yè)務(wù)成本','其他業(yè)務(wù)成本','銷(xiāo)售費(fèi)用','管理費(fèi)用','財(cái)務(wù)費(fèi)用')元組中的第2個(gè)元素、第1~3個(gè)元素。(代碼位置:資源\第2章)2.7.2元組1182.查找元組元素查找元組元素的方法與列表的相同。用戶(hù)可通過(guò)index()方法查找指定元組元素,也可以通過(guò)in運(yùn)算符判斷元組中是否存在指定元組元素。【例2-27】在元組('主營(yíng)業(yè)務(wù)成本','其他業(yè)務(wù)成本','銷(xiāo)售費(fèi)用','管理費(fèi)用','財(cái)務(wù)費(fèi)用')中查找'銷(xiāo)售費(fèi)用'的索引號(hào),并判斷該元組中是否存在'銷(xiāo)售費(fèi)用'元素。(代碼位置:資源\第2章)2.7.3字典119Python中的字典是一種無(wú)序的、可變的序列,它的元素以“鍵值對(duì)(key-value)”的形式存儲(chǔ),即一個(gè)鍵對(duì)應(yīng)一個(gè)值,是一種映射數(shù)據(jù)類(lèi)型。鍵值對(duì)很像學(xué)生時(shí)代常用的新華字典,鍵相當(dāng)于《新華字典》里的音節(jié)表,值相當(dāng)于《新華字典》里該音節(jié)表對(duì)應(yīng)的漢字,如圖2-6所示。2.7.3字典120字典中的每個(gè)元素都包含兩部分,分別是鍵(key)和值(value)。在創(chuàng)建字典時(shí),鍵和值之間使用冒號(hào)分隔,相鄰元素之間使用逗號(hào)分隔,所有元素都放在大括號(hào){}中,其格式如下。{'key1':'value1','key2':'value2',…,'keyn':'valuen‘}字典具有如下特征。①鍵是唯一的,值可以重復(fù)。相同的鍵,字典只會(huì)識(shí)別最后一次設(shè)置的值。②鍵是不可變的,即鍵可以添加,不可以修改。③值是可變的,可以修改。2.7.3字典1211.增加字典元素通過(guò)賦值的方式可以增加字典元素。【例2-28】為資產(chǎn)類(lèi)的會(huì)計(jì)科目編碼字典({'1001':'庫(kù)存現(xiàn)金','1002':'銀行存款','1003':'存放中央銀行款項(xiàng)'})增加元素('1011':'存放同業(yè)')。(代碼位置:資源\第2章)2.7.3字典1222.刪除字典元素通過(guò)pop()和popitem()方法可以刪除字典元素。【例2-29】分別使用pop()和popitem()方法刪除字典元素。(代碼位置:資源\第2章)2.7.3字典1233.修改字典元素通過(guò)賦值的方式可以修改字典元素。注意,鍵只有存在才是修改值,鍵如果不存在則是增加字典元素。【例2-30】假設(shè)在例2-28所示的資產(chǎn)類(lèi)的會(huì)計(jì)科目編碼字典中,鍵'1002'對(duì)應(yīng)的值被錯(cuò)誤地寫(xiě)成'銀行存錢(qián)',請(qǐng)將其修改為正確的值'銀行存款'。(代碼位置:資源\第2章)2.7.3字典1244.返回字典中的所有鍵值對(duì)、鍵和值使用items()、keys()和values()方法可以分別返回字典中的所有鍵值對(duì)、鍵和值。【例2-31】輸出例2-28所示的資產(chǎn)類(lèi)的會(huì)計(jì)科目編碼字典中的所有鍵值對(duì)、鍵和值。(代碼位置:資源\第2章)2.7.3字典1255.查找、訪問(wèn)字典元素使用in運(yùn)算符可以判斷字典的鍵值對(duì)、鍵和值是否存在;使用鍵可以訪問(wèn)值。【例2-32】以例2-28中的資產(chǎn)類(lèi)的會(huì)計(jì)科目編碼字典為例,判斷指定的鍵值對(duì)、鍵和值是否存在,并訪問(wèn)指定鍵對(duì)應(yīng)的值。(代碼位置:資源\第2章)2.7.4集合126Python中的集合和數(shù)學(xué)中的集合概念一樣,它是一種無(wú)序、不重復(fù)元素的組合,即集合中的元素都是唯一的,互不相同。集合中沒(méi)有索引和位置的概念。集合將所有元素放在一對(duì)大括號(hào)中,相鄰元素之間用逗號(hào)分隔,其格式如下。1.添加集合元素使用add()和update()方法可以為集合添加元素?!纠?-33】為負(fù)債類(lèi)集合({'短期借款','應(yīng)付票據(jù)','應(yīng)付賬款','預(yù)收賬款'})添加新的元素。(代碼位置:資源\第2章)2.7.3字典1272.7.4集合1282.刪除集合元素使用remove()方法可以刪除集合中的元素?!纠?-34】以例2-33中的負(fù)債類(lèi)集合為例,刪除集合中指定的元素。(代碼位置:資源\第2章)2.7.5數(shù)據(jù)類(lèi)型轉(zhuǎn)換129在實(shí)際工作中,經(jīng)常需要將一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換成另外一種數(shù)據(jù)類(lèi)型,才能滿(mǎn)足數(shù)據(jù)處理的要求。常見(jiàn)的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)如表2-14所示。2.7.5數(shù)據(jù)類(lèi)型轉(zhuǎn)換130【例2-35】從鍵盤(pán)接收某公司的資產(chǎn)金額和負(fù)債金額,計(jì)算該公司的所有者權(quán)益。(代碼位置:資源\第2章)2.7.5數(shù)據(jù)類(lèi)型轉(zhuǎn)換131【例2-36】分別使用list()、tuple()、dict()函數(shù)完成數(shù)據(jù)類(lèi)型轉(zhuǎn)換。(代碼位置:資源\第2章)(1)list()函數(shù)使用list()函數(shù)將元組轉(zhuǎn)換為列表。2.7.5數(shù)據(jù)類(lèi)型轉(zhuǎn)換132(2)tuple()函數(shù)使用tuple()函數(shù)將字典轉(zhuǎn)換為元組。(3)dict()函數(shù)使用dict()函數(shù)將特殊的列表或元組(它們中的元素是包含2個(gè)元素的列表或元組,其中第一個(gè)元素作為鍵,第二個(gè)元素作為值)轉(zhuǎn)換成字典。2.7.6課堂實(shí)驗(yàn)——編輯銀行存款二級(jí)編碼字典133【實(shí)驗(yàn)內(nèi)容】現(xiàn)有某公司銀行存款二級(jí)科目:中國(guó)建設(shè)銀行、中國(guó)工商銀行、中國(guó)農(nóng)業(yè)銀行、北京銀行。編輯該公司銀行存款二級(jí)編碼字典。(代碼位置:資源\第2章)【實(shí)驗(yàn)思路】①銀行存款是一級(jí)科目,其編碼為'1002';②銀行存款二級(jí)科目編碼應(yīng)是6位,前4位為一級(jí)科目編碼,后兩位為流水號(hào)。實(shí)訓(xùn)1創(chuàng)建財(cái)務(wù)費(fèi)用二級(jí)科目列表【實(shí)訓(xùn)目標(biāo)】創(chuàng)建公司財(cái)務(wù)費(fèi)用二級(jí)科目列表。(代碼位置:資源\第2章)【實(shí)訓(xùn)思路】①財(cái)務(wù)費(fèi)用二級(jí)科目包括利息收入、利息支出、匯兌收益、匯兌損失、手續(xù)費(fèi)及現(xiàn)金折扣;②將所有二級(jí)科目放在一對(duì)中括號(hào)中,相鄰二級(jí)科目之間用逗號(hào)分隔。項(xiàng)目實(shí)訓(xùn)實(shí)訓(xùn)2計(jì)算公司壞賬準(zhǔn)備金額【實(shí)訓(xùn)目標(biāo)】從鍵盤(pán)輸入某公司應(yīng)收賬款壞賬準(zhǔn)備金額769277元,其他應(yīng)收賬款壞賬準(zhǔn)備金額279218元,計(jì)算該公司的壞賬準(zhǔn)備金額(金額以貨幣的形式顯示)。(代碼位置:資源\第2章)【實(shí)訓(xùn)思路】①使用input()函數(shù)從鍵盤(pán)上接收應(yīng)收賬款壞賬準(zhǔn)備金額和其他應(yīng)收賬款壞賬準(zhǔn)備金額;②使用float()函數(shù)將它們轉(zhuǎn)換為浮點(diǎn)數(shù)后相加,并將金額以貨幣的形式顯示。項(xiàng)目實(shí)訓(xùn)課堂素養(yǎng)北京國(guó)家會(huì)計(jì)學(xué)院校訓(xùn)誠(chéng)信為本、操守為重、堅(jiān)持準(zhǔn)則、不做假賬。感謝觀看!Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)Python程序設(shè)計(jì)與財(cái)務(wù)應(yīng)用(微課版)第3章

Python語(yǔ)法進(jìn)階知識(shí)目標(biāo)1.掌握分支結(jié)構(gòu);2.掌握循環(huán)結(jié)構(gòu);3.掌握函數(shù)和模塊。技能目標(biāo)1.能夠根據(jù)單個(gè)、兩個(gè)或多個(gè)條件實(shí)現(xiàn)正確選擇;2.能夠根據(jù)條件或次數(shù)完成重復(fù)性的工作;3.能夠根據(jù)需要,使用內(nèi)置函數(shù)、自定義函數(shù)或lambda函數(shù)完成某些重復(fù)性的功能;4.掌握模塊的導(dǎo)入及使用模塊完成某些功能。學(xué)習(xí)目標(biāo)章節(jié)導(dǎo)圖思考題1.我們編寫(xiě)程序的時(shí)候,遇到選擇時(shí)如何判斷執(zhí)行呢?2.在財(cái)務(wù)工作中,有些工作是重復(fù)性的,如何減少重復(fù)、提高效率呢?章節(jié)導(dǎo)讀CONTENTS分支結(jié)構(gòu)01.02.循環(huán)結(jié)構(gòu)函數(shù)03.模塊04.分支結(jié)構(gòu)01.143在前面章節(jié)的學(xué)習(xí)中,我們編寫(xiě)的Python代碼都是一條一條語(yǔ)句順序執(zhí)行的,這種代碼結(jié)構(gòu)稱(chēng)為順序結(jié)構(gòu),其流程圖如圖3-1所示。然而僅有順序結(jié)構(gòu)并不能解決所有的問(wèn)題,比如每月根據(jù)銷(xiāo)售額計(jì)算提成:銷(xiāo)售額大于10萬(wàn)元按5%計(jì)算提成,否則按3%計(jì)算提成。那么在下個(gè)月初,我們要根據(jù)員工的銷(xiāo)售額來(lái)決定究竟是按5%計(jì)算提成,還是按3%計(jì)算提成,這里就會(huì)產(chǎn)生兩個(gè)分支,而且這兩個(gè)分支只有一個(gè)會(huì)被執(zhí)行。類(lèi)似的場(chǎng)景還有很多,我們將這種結(jié)構(gòu)稱(chēng)為分支結(jié)構(gòu)(選擇結(jié)構(gòu))。常見(jiàn)的分支結(jié)構(gòu)有單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu)3種。3.1.1單分支結(jié)構(gòu)144單分支結(jié)構(gòu)是最簡(jiǎn)單的分支結(jié)構(gòu),我們用if語(yǔ)句來(lái)表示。其語(yǔ)法格式如下。其功能是:如果if條件表達(dá)式的結(jié)果為真,則執(zhí)行if之后的語(yǔ)句塊,然后執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句;如果if條件表達(dá)式的結(jié)果為假,則不執(zhí)行其后面的語(yǔ)句塊,直接執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句。if語(yǔ)句的流程圖如圖3-2所示。需要注意的是:①if條件表達(dá)式的最后一定不能漏掉符號(hào)“:”,否則會(huì)出錯(cuò);②符號(hào)“:”之后的語(yǔ)句塊中的語(yǔ)句必須縮進(jìn),否則會(huì)出錯(cuò)。3.1.1單分支結(jié)構(gòu)145實(shí)際上,在Python中,當(dāng)前行與前一行的關(guān)系是根據(jù)縮進(jìn)來(lái)判斷的:如果縮進(jìn)相同,Python就認(rèn)為它們是一個(gè)語(yǔ)句塊;否則是兩個(gè)語(yǔ)句塊。在JupyterNotebook中,在遇到分支結(jié)構(gòu)語(yǔ)句時(shí),按Enter鍵系統(tǒng)會(huì)自動(dòng)縮進(jìn)下一條語(yǔ)句(與按下Tab鍵的效果一樣,即空4個(gè)空格)。【例3-1】使用if語(yǔ)句判斷用戶(hù)輸入的工齡是否大于等于10年,如果為真,則工資增加500元,否則保持原有工資不變。(代碼位置:資源\第3章)其流程圖如圖3-3所示。3.1.1單分支結(jié)構(gòu)146實(shí)際上,在Python中,當(dāng)前行與前一行的關(guān)系是根據(jù)縮進(jìn)來(lái)判斷的:如果縮進(jìn)相同,Python就認(rèn)為它們是一個(gè)語(yǔ)句塊;否則是兩個(gè)語(yǔ)句塊。在JupyterNotebook中,在遇到分支結(jié)構(gòu)語(yǔ)句時(shí),按Enter鍵系統(tǒng)會(huì)自動(dòng)縮進(jìn)下一條語(yǔ)句(與按下Tab鍵的效果一樣,即空4個(gè)空格)。3.1.2雙分支結(jié)構(gòu)147雙分支結(jié)構(gòu)是一種非“1”即“2”的分支結(jié)構(gòu),我們用if…else語(yǔ)句來(lái)表示。其語(yǔ)法格式如下。其功能是:如果if條件表達(dá)式的結(jié)果為真,則執(zhí)行if條件表達(dá)式之后的語(yǔ)句塊1,執(zhí)行后忽略else后面的語(yǔ)句塊2,直接執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句;如果if條件表達(dá)式的結(jié)果為假,則忽略if之后的語(yǔ)句塊1,執(zhí)行else后面的語(yǔ)句塊2,然后執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句。if…else語(yǔ)句的流程圖如圖3-4所示。需要注意的是:else語(yǔ)句不能單獨(dú)使用,必須和if語(yǔ)句一起使用。3.1.2雙分支結(jié)構(gòu)148【例3-2】使用if…else語(yǔ)句判斷用戶(hù)輸入的工齡是否大于等于10年,如果為真,則工資增加500元,否則工資增加200元。(代碼位置:資源\第3章)其流程圖如圖3-5所示。3.1.2雙分支結(jié)構(gòu)1493.1.3多分支結(jié)構(gòu)150多分支結(jié)構(gòu)用if…elif…else語(yǔ)句來(lái)表示。其語(yǔ)法格式如下。3.1.3多分支結(jié)構(gòu)151其功能是:如果if條件表達(dá)式1的結(jié)果為真,則執(zhí)行語(yǔ)句塊1,執(zhí)行后忽略后面的elif和else語(yǔ)句,直接執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句;如果elif條件表達(dá)式2的結(jié)果為真,則執(zhí)行語(yǔ)句塊2,執(zhí)行后直接執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句……如果前n-1個(gè)條件表達(dá)式都不為真,則執(zhí)行語(yǔ)句塊n,執(zhí)行完后直接執(zhí)行分支結(jié)構(gòu)以外的語(yǔ)句。其流程圖如圖3-6所示。3.1.3多分支結(jié)構(gòu)152【例3-3】使用if…elif…else語(yǔ)句計(jì)算銷(xiāo)售人員每月提成金額,提成規(guī)則如表3-1所示。(代碼位置:資源\第3章)3.1.3多分支結(jié)構(gòu)153其流程圖如圖3-7所示。3.1.3多分支結(jié)構(gòu)1543.1.4嵌套if語(yǔ)句155嵌套if語(yǔ)句適用于多分支的情況,雖然if…elif…else語(yǔ)句也適用于多分支,但是它們是有區(qū)別的。if…elif…else語(yǔ)句的應(yīng)用場(chǎng)景是:同時(shí)判斷多個(gè)條件,所有的條件都是平級(jí)的。嵌套if語(yǔ)句的應(yīng)用場(chǎng)景是:在使用if語(yǔ)句進(jìn)行條件判斷時(shí),如果希望在條件成立或不成立的執(zhí)行語(yǔ)句中增加額外的條件判斷(該條件從層級(jí)上來(lái)講比前面的條件低一級(jí))。嵌套if語(yǔ)句的語(yǔ)法格式除了縮進(jìn)之外,其余和多分支結(jié)構(gòu)沒(méi)有區(qū)別,嵌套在里層的if語(yǔ)句的語(yǔ)句塊需要再次縮進(jìn)4個(gè)空格,在JupyterNotebook中編寫(xiě)嵌套if語(yǔ)句時(shí),系統(tǒng)會(huì)按層級(jí)的不同自動(dòng)分層縮進(jìn)。嵌套if語(yǔ)句通常使用兩個(gè)層級(jí)嵌套,不提倡多級(jí)嵌套if語(yǔ)句,因?yàn)樾瘦^低。3.1.4嵌套if語(yǔ)句156【例3-4】某商場(chǎng)在促銷(xiāo)日舉行打折活動(dòng),如果購(gòu)買(mǎi)的是啤酒就打5折,其他商品打8折。非促銷(xiāo)日商品不打折。使用嵌套if語(yǔ)句判斷用戶(hù)輸入是否為促銷(xiāo)日,商品是否打折及打折的幅度,并輸出實(shí)付金額、應(yīng)付金額及優(yōu)惠。(代碼位置:資源\第3章)其流程圖如圖3-8所示。3.1.4嵌套if語(yǔ)句1573.1.4嵌套if語(yǔ)句1583.1.5課堂實(shí)驗(yàn)——根據(jù)公司固定資產(chǎn)類(lèi)型計(jì)算月折舊額159【實(shí)驗(yàn)內(nèi)容】從鍵盤(pán)輸入公司固定資產(chǎn)類(lèi)型和價(jià)格,采用直線(xiàn)法計(jì)提折舊,計(jì)算其月折舊額。固定資產(chǎn)折舊規(guī)定如表3-2所示。(代碼位置:資源\第3章)【實(shí)驗(yàn)思路】①固定資產(chǎn)有4種類(lèi)型,可以采用多分支結(jié)構(gòu)(if…elif…else語(yǔ)句)進(jìn)行判斷;循環(huán)結(jié)構(gòu)02.161在3.1節(jié)中介紹了順序結(jié)構(gòu)和分支結(jié)構(gòu),本節(jié)將介紹3種結(jié)構(gòu)中的最后一種結(jié)構(gòu):循環(huán)結(jié)構(gòu)。在財(cái)務(wù)工作中,我們經(jīng)常需要重復(fù)做某些工作。例如,每個(gè)月都要計(jì)算員工工資,每個(gè)月末都要結(jié)賬等。為了高效地完成重復(fù)性工作,Python提供了解決這種問(wèn)題的方法——循環(huán)結(jié)構(gòu),它通過(guò)將一段代碼重復(fù)執(zhí)行就可以輕松地完成重復(fù)性的工作。Python中的循環(huán)結(jié)構(gòu)有兩種,一種是while循環(huán),另一種是for-in循環(huán)。3.2.1while循環(huán)162while循環(huán)是一種只要條件表達(dá)式為真,就重復(fù)執(zhí)行一組語(yǔ)句(循環(huán)體語(yǔ)句塊)的循環(huán)結(jié)構(gòu)。其語(yǔ)法格式如下。其功能是:如果條件表達(dá)式的結(jié)果為真,就一直執(zhí)行循環(huán)體語(yǔ)句塊;如果條件表達(dá)式的結(jié)果為假,就退出循環(huán)體,執(zhí)行循環(huán)結(jié)構(gòu)以外的語(yǔ)句。while循環(huán)的流程圖如圖3-9所示。3.2.1while循環(huán)163根據(jù)循環(huán)次數(shù)是否確定(已知),可以將while循環(huán)分為計(jì)數(shù)型while循環(huán)和條件型while循環(huán)。1.計(jì)數(shù)型while循環(huán)計(jì)數(shù)型while循環(huán)是指已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)。通常采用計(jì)數(shù)器變量來(lái)控制循環(huán)的次數(shù),需要設(shè)置循環(huán)變量的初始值、終止值及每次循環(huán)的增量(或減量),循環(huán)結(jié)束的條件是計(jì)數(shù)器變量超出給定的終止值。【例3-5】2023年5月31日,公司對(duì)存貨進(jìn)行了盤(pán)點(diǎn),盤(pán)點(diǎn)結(jié)果如表3-3所示。請(qǐng)根據(jù)盤(pán)點(diǎn)結(jié)果做出相應(yīng)的賬務(wù)處理。(代碼位置:資源\第3章)3.2.1while循環(huán)164賬務(wù)處理規(guī)則如下。如果實(shí)存數(shù)量和賬存數(shù)量一致,則輸出“無(wú)須進(jìn)行賬目處理!”;如果實(shí)存數(shù)量小于賬存數(shù)量,則計(jì)算盤(pán)虧金額[盤(pán)虧金額=(賬存數(shù)量-實(shí)存數(shù)量)×單價(jià)],并保留兩位小數(shù)格式化輸出“發(fā)生盤(pán)虧:**元”;如果實(shí)存數(shù)量大于賬存數(shù)量,則計(jì)算盤(pán)盈金額[盤(pán)盈金額=(實(shí)存數(shù)量-賬存數(shù)量)×單價(jià)],并保留兩位小數(shù)格式化輸出“發(fā)生盤(pán)盈:**元”。其流程圖如圖3-10所示。3.2.1while循環(huán)1653.2.1while循環(huán)1662.條件型while循環(huán)條件型while循環(huán)是指循環(huán)次數(shù)不確定的循環(huán)結(jié)構(gòu)。需要注意的是,在循環(huán)體內(nèi)要有能改變循環(huán)條件的語(yǔ)句(讓循環(huán)條件不成立),以使循環(huán)能夠結(jié)束;否則,循環(huán)將無(wú)休止地執(zhí)行,形成“死循環(huán)”?!纠?-6】使用循環(huán)結(jié)構(gòu)從鍵盤(pán)輸入成本類(lèi)二級(jí)科目(生產(chǎn)成本、制造費(fèi)用、勞務(wù)成本費(fèi)、研發(fā)支出、工程施工、工程結(jié)算),形成成本類(lèi)二級(jí)科目列表,輸入“退出”結(jié)束輸入。(代碼位置:資源\第3章)其流程圖如圖3-11所示。3.2.1while循環(huán)1673.2.2for-in循環(huán)168其功能是:遍歷序列中的所有元素并賦值給變量(從序列的第一個(gè)元素開(kāi)始,依次取到最后一個(gè)元素),遍歷結(jié)束就退出循環(huán),然后執(zhí)行循環(huán)結(jié)構(gòu)以外的語(yǔ)句。需要注意的是,for-in循環(huán)中的變量將會(huì)在每次循環(huán)開(kāi)始時(shí)自動(dòng)被賦值,因此不需要在循環(huán)中再對(duì)該變量賦值。for-in循環(huán)的流程圖如圖3-12所示。for-in循環(huán)類(lèi)似于計(jì)數(shù)型while循環(huán),也是已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),其循環(huán)次數(shù)取決于in后面的序列(如字符串、列表、元組、字典等)中元素的個(gè)數(shù)。其語(yǔ)法格式如下。3.2.2for-in循環(huán)169【例3-7】遍歷成本類(lèi)二級(jí)科目列表(生產(chǎn)成本、制造費(fèi)用、勞務(wù)成本費(fèi)、研發(fā)支出、工程施工、工程結(jié)算),形成并輸出成本類(lèi)二級(jí)科目字符串。(代碼位置:資源\第3章)其流程圖如圖3-13所示。3.2.2for-in循環(huán)170【例3-7】遍歷成本類(lèi)二級(jí)科目列表(生產(chǎn)成本、制造費(fèi)用、勞務(wù)成本費(fèi)、研發(fā)支出、工程施工、工程結(jié)算),形成并輸出成本類(lèi)二級(jí)科目字符串。(代碼位置:資源\第3章)其流程圖如圖3-13所示。3.2.3break語(yǔ)句171在循環(huán)體語(yǔ)句中,當(dāng)所需條件滿(mǎn)足時(shí),為了提高效率(既然已滿(mǎn)足所需條件,再繼續(xù)循環(huán)下去就沒(méi)有意義了),可以使用break語(yǔ)句提前退出循環(huán),然后執(zhí)行循環(huán)結(jié)構(gòu)后面的語(yǔ)句。其流程圖如圖3-14所示。3.2.3break語(yǔ)句172【例3-8】某公司成本類(lèi)二級(jí)科目費(fèi)用如表3-4所示,找出并輸出勞務(wù)成本費(fèi)。(代碼位置:資源\第3章)3.2.3break語(yǔ)句173其流程圖如圖3-15所示。3.2.3break語(yǔ)句1743.2.4continue語(yǔ)句175在循環(huán)體語(yǔ)句塊中,當(dāng)滿(mǎn)足所需條件時(shí),使用continue語(yǔ)句可立即結(jié)束本輪循環(huán)(即不執(zhí)行continue語(yǔ)句之后的語(yǔ)句),跳轉(zhuǎn)到循環(huán)結(jié)構(gòu)開(kāi)始處,開(kāi)始新一輪循環(huán)。其流程圖如圖3-16所示。3.2.4continue語(yǔ)句176【例3-9】某公司上半年開(kāi)票數(shù)如表3-5所示,找出并輸出開(kāi)票數(shù)大于10的所有月份及開(kāi)票數(shù)。(代碼位置:資源\第3章)其流程圖如圖3-17所示。3.2.4continue語(yǔ)句1773.2.5循環(huán)嵌套178與分支結(jié)構(gòu)嵌套一樣,循環(huán)結(jié)構(gòu)也可以嵌套。既可以在while循環(huán)中嵌套while循環(huán),又可以在for-in循環(huán)中嵌套for-in循環(huán),還可以使while循環(huán)和for-in循環(huán)相互嵌套。其中外層的循環(huán)稱(chēng)為外循環(huán),里層的循環(huán)稱(chēng)為內(nèi)循環(huán)。其語(yǔ)法格式如下。3.2.5循環(huán)嵌套179【例3-10】某公司各部門(mén)下一年的年度管理費(fèi)用預(yù)算如表3-6所示,各季度管理費(fèi)用分配比例如表3-7所示。計(jì)算并輸出各部門(mén)下一年各季度的管理費(fèi)用預(yù)算。(代碼位置:資源\第3章)3.2.5循環(huán)嵌套180其流程圖如圖3-18所示。3.2.5循環(huán)嵌套181其流程圖如圖3-18所示。3.2.6課堂實(shí)驗(yàn)——篩選符合條件的全部工資數(shù)據(jù)182【實(shí)驗(yàn)內(nèi)容】某公司員工小張1~6月的工資如表3-8所示,篩選出工資大于8000元的所有月份及工資。(代碼位置:資源\第3章)【實(shí)驗(yàn)思路】①建立月份工資字典;②使用for-in循環(huán)和continue語(yǔ)句完成篩選。函數(shù)03.函數(shù)就是程序中可重復(fù)使用的、能實(shí)現(xiàn)某些功能的代碼段。當(dāng)這樣的代碼段被定義為函數(shù)后,在需要使用這段代碼段的地方,僅用一條調(diào)用該函數(shù)的語(yǔ)句即可。這樣可以使程序看起來(lái)很簡(jiǎn)潔(減少重復(fù)性),并降低復(fù)制、粘貼錯(cuò)誤的概率。Python中的函數(shù)有兩種,一種是內(nèi)置函數(shù),另一種是自定義函數(shù)。3.3.1內(nèi)置函數(shù)184為了提高效率、方便用戶(hù)使用,Python為一些常用的功能編寫(xiě)了代碼,并定義為相應(yīng)的函數(shù),這樣的函數(shù)稱(chēng)為內(nèi)置函數(shù)。在需要使用內(nèi)置函數(shù)完成某些功能的時(shí)候,直接調(diào)用內(nèi)置函數(shù)即可。Python提供的內(nèi)置函數(shù),除了前面介紹的input()、print()、format()等函數(shù)外,還包括另外幾十個(gè)常用的內(nèi)置函數(shù)。限于篇幅,下面僅介紹一些常見(jiàn)內(nèi)置函數(shù)的用法。1.max()和min()函數(shù)max()函數(shù)用于返回可迭代對(duì)象的元素中的最大值或者所有參數(shù)的最大值,min()函數(shù)用于返回可迭代對(duì)象的元素中的最小值或者所有參數(shù)的最小值??傻鷮?duì)象可以簡(jiǎn)單地理解為可以使用for循環(huán)的對(duì)象。元組、列表、字典、字符串等都是可迭代對(duì)象。3.3.1內(nèi)置函數(shù)185【例3-11】max()函數(shù)的常見(jiàn)用法(由于min()函數(shù)的常見(jiàn)用法與max()函數(shù)類(lèi)似,這里不再詳細(xì)介紹)。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1862.round()函數(shù)round()函數(shù)用于返回對(duì)浮點(diǎn)數(shù)進(jìn)行四舍五入后的值?!纠?-12】某小微企業(yè)全年應(yīng)納稅所得額為955327元,按2.5%的稅率繳納企業(yè)所得稅,計(jì)算企業(yè)所得稅(四舍五入、保留兩位小數(shù))。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1873.pow()函數(shù)pow()函數(shù)用于返回某個(gè)值的冪運(yùn)算值?!纠?-13】某企業(yè)銀行貸款的年利率為5.85%,計(jì)算期數(shù)為5的復(fù)利終值系數(shù)(四舍五入、保留4位小數(shù))。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1884.sum()函數(shù)sum()函數(shù)用于返回可迭代對(duì)象中各元素之和?!纠?-14】sum()函數(shù)的常見(jiàn)用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1895.tuple()函數(shù)tuple()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個(gè)新的元組?!纠?-15】tuple()函數(shù)的常見(jiàn)用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1906.list()函數(shù)list()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個(gè)新的列表?!纠?-16】list()函數(shù)的常見(jiàn)用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1917.dict()函數(shù)dict()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個(gè)新的字典?!纠?-17】dict()函數(shù)的常見(jiàn)用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1928.zip()函數(shù)zip()函數(shù)用于將可迭代對(duì)象作為參數(shù),將可迭代對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的對(duì)象。zip()函數(shù)對(duì)象不能直接輸出,可使用list()、tuple()、dict()函數(shù)來(lái)轉(zhuǎn)換輸出,如果各個(gè)可迭代對(duì)象的元素個(gè)數(shù)不一致,則返回的列表長(zhǎng)度以最短的可迭代對(duì)象的元素個(gè)數(shù)為準(zhǔn)?!纠?-18】zip()函數(shù)的常見(jiàn)用法。(代碼位置:資源\第3章)3.3.2自定義函數(shù)193雖然使用Python提供的內(nèi)置函數(shù)可以實(shí)現(xiàn)很多常見(jiàn)功能,但是在實(shí)際工作中,仍然有許多重復(fù)性的功能無(wú)法通過(guò)內(nèi)置函數(shù)來(lái)完成,這時(shí)就需要通過(guò)自定義函數(shù)來(lái)完成這些功能,實(shí)現(xiàn)一次編寫(xiě)、多次調(diào)用的目的。1.自定義函數(shù)的格式自定義函數(shù)的格式如下。3.3.2自定義函數(shù)194自定義函數(shù)要遵守以下規(guī)則。①函數(shù)以def關(guān)鍵詞開(kāi)頭,后接函數(shù)名和一對(duì)圓括號(hào)()。②圓括號(hào)中可以沒(méi)有參數(shù)(絕大部分情況下有參數(shù)),如果有多個(gè)參數(shù),則多個(gè)參數(shù)之間用逗號(hào)分隔。③函數(shù)體要縮進(jìn)。④函數(shù)是否有返回值根據(jù)函數(shù)要實(shí)現(xiàn)的功能而定(絕大部分情況下有返回值)。有返回值就要有return語(yǔ)句,沒(méi)有返回值則不用有return語(yǔ)句。⑤函數(shù)體的開(kāi)頭通常用于存放函數(shù)說(shuō)明,包括函數(shù)的功能說(shuō)明、參數(shù)說(shuō)明、返回值說(shuō)明等。3.3.2自定義函數(shù)1952.參數(shù)傳遞在數(shù)學(xué)中,當(dāng)使用三角函數(shù)sin(x)來(lái)計(jì)算30°的正弦值的時(shí)候,需要使用30°這個(gè)實(shí)際數(shù)值來(lái)代替x。同樣的道理,當(dāng)函數(shù)定義好以后,在程序中調(diào)用函數(shù)時(shí),也需要用實(shí)際數(shù)值來(lái)代替定義函數(shù)時(shí)使用的參數(shù),這個(gè)過(guò)程就稱(chēng)為參數(shù)傳遞。函數(shù)的參數(shù)分為兩種:定義函數(shù)時(shí)使用的參數(shù)稱(chēng)為形式參數(shù);調(diào)用函數(shù)時(shí)使用的實(shí)際數(shù)值(或變量)稱(chēng)為實(shí)際參數(shù)。3.3.2自定義函數(shù)196【例3-19】通過(guò)計(jì)算所有者權(quán)益理解參數(shù)傳遞。(代碼位置:資源\第3章)3.3.2自定義函數(shù)197在調(diào)用函數(shù)時(shí),將實(shí)際參數(shù)傳遞給形式參數(shù)有多種方式,下面分別介紹。(1)使用位置參數(shù)傳遞位置參數(shù)是指在調(diào)用自定義函數(shù)時(shí),必須按照順序?qū)?shí)際參數(shù)傳遞給形式參數(shù),即傳入實(shí)際參數(shù)的位置和數(shù)量必須和定義函數(shù)時(shí)完全一致。例3-19屬于位置參數(shù)。(2)使用默認(rèn)參數(shù)值傳遞定義參數(shù)時(shí),可以為參數(shù)指定默認(rèn)值。在傳遞參數(shù)的時(shí)候,如果參數(shù)值沒(méi)有傳入,則會(huì)用默認(rèn)值代替;如果傳入?yún)?shù),則默認(rèn)值不起作用。需要注意的是,有默認(rèn)值的參數(shù)應(yīng)放在最后,否則會(huì)出錯(cuò)。3.3.2自定義函數(shù)198【例3-20】通過(guò)計(jì)算銀行存款理解默認(rèn)參數(shù)值。(代碼位置:資源\第3章)3.3.2自定義函數(shù)199(3)使用關(guān)鍵字參數(shù)傳遞關(guān)鍵字參數(shù)是指在調(diào)用函數(shù)時(shí),采用“參數(shù)名=值”的形式傳遞參數(shù),無(wú)須按照指定順序傳遞參數(shù)。這種方式更加靈活,既可以避免由于參數(shù)順序不對(duì)造成的錯(cuò)誤,又可以讓函數(shù)的調(diào)用者更加明確每個(gè)參數(shù)所傳遞的具體值。【例3-21】通過(guò)計(jì)算銀行存款理解關(guān)鍵字參數(shù)。(代碼位置:資源\第3章)3.3.2自定義函數(shù)200(4)使用可變位置參數(shù)傳遞在定義函數(shù)的時(shí)候,有時(shí)候并不知道調(diào)用時(shí)傳入?yún)?shù)的數(shù)量,這時(shí)候就需要用到可變位置參數(shù)。使用可變位置參數(shù)時(shí),參數(shù)前面應(yīng)添加“*”。【例3-22】定義一個(gè)通用的計(jì)算銀行存款的函數(shù),無(wú)論銀行有多少家,都能正確計(jì)算。(代碼位置:資源

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論