![《Python程序設(shè)計與財務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第1頁](http://file4.renrendoc.com/view8/M02/1F/21/wKhkGWblBEiAA6mIAADZjPxRCLs430.jpg)
![《Python程序設(shè)計與財務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第2頁](http://file4.renrendoc.com/view8/M02/1F/21/wKhkGWblBEiAA6mIAADZjPxRCLs4302.jpg)
![《Python程序設(shè)計與財務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第3頁](http://file4.renrendoc.com/view8/M02/1F/21/wKhkGWblBEiAA6mIAADZjPxRCLs4303.jpg)
![《Python程序設(shè)計與財務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第4頁](http://file4.renrendoc.com/view8/M02/1F/21/wKhkGWblBEiAA6mIAADZjPxRCLs4304.jpg)
![《Python程序設(shè)計與財務(wù)應(yīng)用(微課版)》全套教學(xué)課件_第5頁](http://file4.renrendoc.com/view8/M02/1F/21/wKhkGWblBEiAA6mIAADZjPxRCLs4305.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Python程序設(shè)計與財務(wù)應(yīng)用(微課版)第1章
認(rèn)識Python全套可編輯PPT課件知識目標(biāo)1.什么是Python;2.了解Python在財務(wù)領(lǐng)域的應(yīng)用;3.了解Python開發(fā)環(huán)境及其分類。技能目標(biāo)1.能夠下載、安裝Anaconda;2.能夠正確配置JupyterNotebook;3.能夠編輯和運行簡單的筆記本文件。學(xué)習(xí)目標(biāo)全套可編輯PPT課件章節(jié)導(dǎo)圖思考題財務(wù)人員學(xué)習(xí)Python,用什么軟件好呢?章節(jié)導(dǎo)讀CONTENTS什么是Python01.02.Python在財務(wù)領(lǐng)域的應(yīng)用Python開發(fā)環(huán)境03.全套可編輯PPT課件什么是Python01.Python是一種代表簡單主義思想的面向?qū)ο蟮慕忉屝途幊陶Z言,它是目前比較流行的編程語言。全套可編輯PPT課件1.1.1Python的發(fā)展史6Python由荷蘭人吉多·范羅蘇姆(GuidovanRossum)于1989年發(fā)明。Python的發(fā)展歷史可以分為以下幾個階段。(1)Python1.x:1991年至2000年,屬于Python的初始階段,主要實現(xiàn)了基本的語法結(jié)構(gòu)、數(shù)據(jù)類型、異常處理、模塊系統(tǒng)等功能。Python1.0于1994年發(fā)布,Python1.x系列的最后一個版本Python1.6于2000年發(fā)布。(2)Python2.x:2000年至2020年,屬于Python的成熟階段,主要增加了許多新功能,如Unicode支持、列表推導(dǎo)、垃圾回收機制、生成器、裝飾器、迭代器協(xié)議、新式類等。Python2.0于2000年發(fā)布,Python2.x系列的最后一個版本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ù)模型、增加類型注解、異步編程支持等。Python3.0于2008年發(fā)布,它不完全兼容Python2.x,但提供了實用工具來幫助遷移代碼。Python3.6于2016年發(fā)布,引入了利用f-string來格式化字符串等新特性。Python3.9于2020年發(fā)布,增加了新的語法特性、內(nèi)置特性、標(biāo)準(zhǔn)庫特性等多項新特性。截至2024年5月,Python3.x系列的最新穩(wěn)定版本是Python3.12。1.1.2Python的特點8簡單易學(xué)語法簡潔跨平臺應(yīng)用廣泛強大的社區(qū)支持Python在財務(wù)領(lǐng)域的應(yīng)用02.10在數(shù)字經(jīng)濟時代,數(shù)據(jù)已成為驅(qū)動經(jīng)濟社會發(fā)展的新要素、新引擎。由業(yè)務(wù)、財務(wù)及稅務(wù)等多種來源的基礎(chǔ)數(shù)據(jù)組成的財務(wù)大數(shù)據(jù)構(gòu)成了一個巨大的跨領(lǐng)域、跨平臺的數(shù)據(jù)生態(tài)體系。如何對這些海量數(shù)據(jù)進(jìn)行有效的分析與判斷,進(jìn)一步挖掘出其中隱含的價值,是財務(wù)數(shù)據(jù)分析面臨的較大挑戰(zhàn)。Python在財務(wù)領(lǐng)域的應(yīng)用主要有網(wǎng)絡(luò)爬蟲、算法應(yīng)用、可視化分析、人工智能和機器學(xué)習(xí)等。1.2.1網(wǎng)絡(luò)爬蟲11使用Python的網(wǎng)絡(luò)爬蟲功能,可以快速抓取需要的各類網(wǎng)上財務(wù)報表數(shù)據(jù),并對其進(jìn)行財務(wù)分析和比較,評估企業(yè)的生產(chǎn)健康狀況和盈利能力,為投資決策提供參考。1.2.2算法應(yīng)用Python通過其可擴展性、高效性和可重用性,提供快速處理數(shù)據(jù)的能力。利用這些特性,財務(wù)人員可以解決日常工作中遇到的各種復(fù)雜的計算問題,以及財務(wù)數(shù)據(jù)分析的問題。121.2.3可視化分析Python提供了各種可視化工具,如Matplotlib、seaborn等,可以幫助財務(wù)人員更好地理解數(shù)據(jù),并快速創(chuàng)建高質(zhì)量的圖表和實現(xiàn)可視化效果。這些工具提供了各種類型的圖表,如散點圖、柱形圖、餅圖及熱力圖等,并可以通過定制顏色、標(biāo)簽、大小等參數(shù)來定制圖表樣式。1.2.4人工智能和機器學(xué)習(xí)Python在人工智能和機器學(xué)習(xí)領(lǐng)域的應(yīng)用非常廣泛。目前在財務(wù)領(lǐng)域中,利用光學(xué)字符識別(OpticalCharacterRecognition,OCR)技術(shù)識別票據(jù)已經(jīng)較為普遍,而利用深度學(xué)習(xí)、強化學(xué)習(xí)、自然語言處理等技術(shù),還能實現(xiàn)對獲取的數(shù)據(jù)進(jìn)行提取、分類和分析等。機器學(xué)習(xí)廣泛應(yīng)用于自動化風(fēng)險管理和反欺詐檢測等任務(wù),如通過機器學(xué)習(xí)算法和模型,Python可以幫助金融機構(gòu)更好地預(yù)測市場趨勢和識別潛在的欺詐行為。Python開發(fā)環(huán)境03.1.3.1認(rèn)識Python開發(fā)環(huán)境14Python開發(fā)環(huán)境主要包括兩個部分:代碼編輯器和代碼解釋器。(1)代碼編輯器:簡單來說就是一個文本編輯器,它用來編寫Python程序,其功能類似于Windows中的“記事本”。(2)代碼解釋器:運行Python程序時,要先運行代碼解釋器。通過代碼解釋器,可以讀取編寫的Python程序文件(代碼),讀取后,代碼解釋器先將程序文件中的Python代碼轉(zhuǎn)換成機器指令(計算機能夠理解和執(zhí)行的指令),然后讓計算機按照機器指令的要求去執(zhí)行(操作)。1.3.2Python開發(fā)環(huán)境的分類15Python開發(fā)環(huán)境根據(jù)功能的強弱主要分為兩大類:簡易開發(fā)環(huán)境和集成開發(fā)環(huán)境。常見的Python開發(fā)環(huán)境如表1-1所示。1.3.2Python開發(fā)環(huán)境的分類16由于集成開發(fā)環(huán)境功能強大,絕大多數(shù)用戶在學(xué)習(xí)Python時,首選集成開發(fā)環(huán)境。針對學(xué)習(xí)Python在財務(wù)領(lǐng)域的應(yīng)用的用戶來說,首選Anaconda中集成的JupyterNotebook作為代碼編輯器,這是因為它使用的是一個基于瀏覽器的界面,能讓用戶將說明文本、數(shù)學(xué)方程、代碼和可視化輸出等內(nèi)容全部組合到一個易于共享的文檔中,同時它具有“所見即所得”的能力,能夠快速得到輸出結(jié)果。1.3.3下載、安裝Anaconda集成開發(fā)環(huán)境171.下載Anaconda登錄Anaconda官網(wǎng)并單擊按鈕即可開始下載。2.安裝Anaconda下載完成后,在瀏覽器窗口中的“下載”區(qū)域單擊安裝文件下方的“打開文件”,如圖1-1所示,即可開始安裝。在彈出的圖1-2所示的安裝對話框中直接單擊按鈕,彈出圖1-3所示的“最終用戶許可協(xié)議”對話框。1.3.3下載、安裝Anaconda集成開發(fā)環(huán)境181.3.3下載、安裝Anaconda集成開發(fā)環(huán)境19在彈出的圖1-6所示的選擇Anaconda3與Windows集成方式的高級安裝選項對話框中進(jìn)行如下操作。①保持默認(rèn)選中的“Createstartmenushortcuts(supportedpackagesonly).”復(fù)選框,表示創(chuàng)建“開始”菜單快捷方式。②選中“RegisterAnaconda3asmydefaultPython3.11”復(fù)選框,表示注冊Anaconda3作為默認(rèn)Python3.11解釋器,這是推薦選項。③選中“Clearthepackagecacheuponcompletion”復(fù)選框,表示安裝完成后清除包緩存,它可以在不損害軟件功能的情況下恢復(fù)一定的磁盤空間,這也是推薦選項。1.3.3下載、安裝Anaconda集成開發(fā)環(huán)境201.3.3下載、安裝Anaconda集成開發(fā)環(huán)境211.3.4運行和配置JupyterNotebook22安裝好Anaconda集成開發(fā)環(huán)境后,我們就可以使用集成在Anaconda中的JupyterNotebook了。下面介紹如何運行和配置JupyterNotebook。1.運行JupyterNotebook運行JupyterNotebook主要有以下兩種方法。(1)從“開始”菜單中運行JupyterNotebook在“開始”菜單中直接單擊“JupyterNotebook”,彈出圖1-10所示的JupyterNotebook命令提示符窗口,稍等一會兒,JupyterNotebook就會在瀏覽器(默認(rèn)瀏覽器)中啟動運行了,如圖1-11所示。注意:不能關(guān)閉JupyterNotebook命令提示符窗口,否則JupyterNotebook不能正常運行。1.3.4運行和配置JupyterNotebook231.3.4運行和配置JupyterNotebook242.配置JupyterNotebookJupyterNotebook運行后,我們可以看到瀏覽器的地址是“l(fā)ocalhost:8888/tree”,這是JupyterNotebook的默認(rèn)地址,頁面中顯示的是默認(rèn)地址(文件夾)中的內(nèi)容。編寫代碼時,通常不會使用默認(rèn)文件夾,而是使用自建的文件夾。如果想把自己寫的程序文件保存在自己新建的文件夾里,就需要把默認(rèn)目錄修改為自建的文件夾,步驟如下。(1)生成配置文件在“開始”菜單中單擊“AnacondaPrompt”,打開命令提示符窗口,輸入命令jupyternotebook--generate-config,然后按Enter鍵執(zhí)行。執(zhí)行完后,會生成一個名為“jupyter_notebook_config.py”的配置文件,如圖1-13所示。1.3.4運行和配置JupyterNotebook25(2)找到配置文件打開“.jupyter文件夾(C:\Users\slsyy\.jupyter是JupyterNotebook的默認(rèn)路徑),即可看到生成的配置文件“jupyter_notebook_config.py”,如圖1-14所示。1.3.4運行和配置JupyterNotebook26(3)修改配置文件用記事本打開此配置文件,并使用搜索功能(按Ctrl+F組合鍵)找到關(guān)鍵詞“#c.NotebookApp.notebook_dir=''”,先刪除前面的“#”,再在后面的單引號里輸入要設(shè)置的自建文件夾的路徑,修改前后的效果如圖1-15所示。輸入完保存并關(guān)閉文件。這一步操作僅對從“AnacondaNavigator”窗口中運行JupyterNotebook起作用,如果想對從“開始”菜單中運行JupyterNotebook起作用,還需要修改快捷方式。1.3.4運行和配置JupyterNotebook27注意,新版本的關(guān)鍵詞是“#c.ServerApp.notebook_dir=‘’”,如下圖所示。修改前修改后1.3.4運行和配置JupyterNotebook28(4)修改快捷方式在“開始”菜單中右擊“JupyterNotebook”,在彈出的快捷菜單中選擇“更多”>“打開文件位置”,在打開的窗口中右擊“JupyterNotebook”快捷方式,選擇“屬性”,在打開的窗口中將“目標(biāo)”文本框中的"%USERPROFILE%/"部分修改為“C:\Python\代碼”,然后單擊“確定”按鈕。再次打開JupyterNotebook后,就會發(fā)現(xiàn)瀏覽器默認(rèn)路徑顯示的是自建文件夾路徑里的內(nèi)容,如圖1-16所示。1.3.5在JupyterNotebook中編寫第一個Python程序29將JupyterNotebook的默認(rèn)工作路徑修改為自建文件夾的路徑后,我們就可以在其中編寫Python程序了。1.建立文件夾通常在JupyterNotebook中編寫程序時,都會分門別類地把它們存放在不同的文件夾中,而不是都存放在自建文件夾的根目錄下。所以編程前,首先要建立存放該程序的文件夾。建立文件夾的步驟如下。(1)通過“Folder”創(chuàng)建文件夾在瀏覽器右側(cè)的“New”下拉列表中單擊“Folder”,如圖1-17所示,系統(tǒng)會自動創(chuàng)建一個名稱為“UntitledFolder”的文件夾,如圖1-18所示。1.3.5在JupyterNotebook中編寫第一個Python程序30注意,如果使用的是新版本的JupyterNotebook,圖1-17中可能不顯示運行內(nèi)核“Python3(ipykernel)”,如下圖左(一)所示,為了確保運行內(nèi)核為“Python3(ipykernel)”,需要單擊【Notebook】選項,在彈出的【SelectKernel】對話框中選擇【Python3(ipykernel)】,如下圖左(二),最后單擊【Select】即可,如下圖右(一)。1.3.5在JupyterNotebook中編寫第一個Python程序311.3.5在JupyterNotebook中編寫第一個Python程序321.3.5在JupyterNotebook中編寫第一個Python程序332.建立筆記本文件建立“測試”文件夾后,就可以在該文件夾中建立筆記本文件了。建立筆記本文件的步驟如下。(1)通過“Folder”創(chuàng)建筆記本文件單擊“測試”文件夾,進(jìn)入該文件夾中,然后在右側(cè)的“New”下拉列表(見圖1-17)中單擊“Python3(ipykernel)”,系統(tǒng)會自動創(chuàng)建一個名稱為“Untitled.ipynb”的筆記本文件,并在新的標(biāo)簽頁中打開它,具體步驟如圖1-22所示。1.3.5在JupyterNotebook中編寫第一個Python程序341.3.5在JupyterNotebook中編寫第一個Python程序35(2)重命名筆記本文件為了體現(xiàn)筆記本文件的含義,一般需要重命名“Untitled.ipynb”筆記本文件。在打開的“Untitled-JupyterNotebook”標(biāo)簽頁中單擊左上角的“Untitled”,或者依次單擊“File”>“Rename”,都可彈出圖1-23所示的“重命名筆記本”對話框。1.3.5在JupyterNotebook中編寫第一個Python程序361.3.5在JupyterNotebook中編寫第一個Python程序373.編輯、運行筆記本文件筆記本文件主要由Python代碼、Markdown和輸出結(jié)果3部分組成。在圖1-24所示的編輯區(qū)域中,左側(cè)有個標(biāo)識為“In[]:”的單元格(Cell),這里就是輸入Python語句或Markdown內(nèi)容的區(qū)域,我們可以在其中輸入任意合法的Python語句或Markdown內(nèi)容。(1)輸入Python語句在第一個單元格中輸入Python語句“print('這是我的第一個Python語句!')”,該語句的功能是輸出print()函數(shù)中字符串的內(nèi)容,如圖1-25所示。1.3.5在JupyterNotebook中編寫第一個Python程序381.3.5在JupyterNotebook中編寫第一個Python程序39(3)輸入Markdown內(nèi)容使用JupyterNotebook做財務(wù)應(yīng)用時,通常會在筆記本文件里既編寫Python語句實現(xiàn)功能,又撰寫和分享編程項目文檔、學(xué)習(xí)筆記和教程等,便于以后閱讀、學(xué)習(xí)和交流。輸入Markdown內(nèi)容的方法和輸入Python語句的方法一樣,只是對輸入的Markdown內(nèi)容沒有限制。具體操作如下。1.3.5在JupyterNotebook中編寫第一個Python程序401.3.5在JupyterNotebook中編寫第一個Python程序41實訓(xùn)1在自己的計算機上安裝Anaconda【實訓(xùn)目標(biāo)】在自己的計算機上安裝Anaconda?!緦嵱?xùn)思路】①從官網(wǎng)下載;②雙擊安裝文件安裝;③配置JupyterNotebook。項目實訓(xùn)實訓(xùn)2輸出財務(wù)經(jīng)典語錄【實訓(xùn)目標(biāo)】在JupyterNotebook中創(chuàng)建筆記本文件,要求輸入標(biāo)題、正文并輸出語句?!緦嵱?xùn)思路】參考1.3.5小節(jié)。項目實訓(xùn)課堂素養(yǎng)財務(wù)大數(shù)據(jù)技術(shù)的戰(zhàn)略意義財務(wù)大數(shù)據(jù)技術(shù)的戰(zhàn)略意義不在于掌握龐大的財務(wù)數(shù)據(jù)信息,而在于對這些有意義的財務(wù)數(shù)據(jù)進(jìn)行專業(yè)化處理。換言之,如果把財務(wù)大數(shù)據(jù)比作一種產(chǎn)業(yè),那么這種產(chǎn)業(yè)實現(xiàn)盈利的關(guān)鍵在于提高對財務(wù)數(shù)據(jù)的“加工能力”,通過“加工”實現(xiàn)財務(wù)數(shù)據(jù)的“增值”。感謝觀看!Python程序設(shè)計與財務(wù)應(yīng)用(微課版)Python程序設(shè)計與財務(wù)應(yīng)用(微課版)第2章
Python語法基礎(chǔ)知識目標(biāo)1.掌握輸入、輸出函數(shù)及注釋的相關(guān)知識;2.掌握變量、基本數(shù)據(jù)類型及常用運算符的相關(guān)知識;3.掌握高級數(shù)據(jù)類型的相關(guān)知識。技能目標(biāo)1.能夠根據(jù)需要從鍵盤輸入數(shù)據(jù),并能將結(jié)果輸出;2.能夠在程序必要的地方添加注釋以增加閱讀性;3.能夠根據(jù)需要定義變量并賦值;4.能夠完成高級數(shù)據(jù)類型的定義與操作。學(xué)習(xí)目標(biāo)章節(jié)導(dǎo)圖思考題1.我們編寫了代碼,過段時間通常會忘記當(dāng)時是怎么設(shè)計的,如何避免這種情況呢?2.在財務(wù)工作中,有些數(shù)據(jù)之間是一一對應(yīng)的,例如,會計科目編碼和會計科目名稱,那么在Python中能表示這種對應(yīng)的數(shù)據(jù)嗎?章節(jié)導(dǎo)讀CONTENTS輸出和輸入01.02.注釋變量03.常用運算符05.06.基本數(shù)據(jù)類型:字符串高級數(shù)據(jù)類型07.基本數(shù)據(jù)類型:數(shù)值04.輸出和輸入01.輸出指的是屏幕上的輸出結(jié)果,而輸入指的是從鍵盤接收數(shù)據(jù)。從第一Python程序開始,我們一直使用print()函數(shù)向屏幕輸出數(shù)據(jù),該函數(shù)就是Python的輸出函數(shù)。Python還提供input()函數(shù),用于接收用戶從鍵盤輸入的數(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課堂實驗——輸出公司三大財務(wù)報表56【實驗內(nèi)容】輸出公司三大財務(wù)報表。(代碼位置:資源\第2章)【實驗思路】使用print()函數(shù)。注釋02.注釋是對一行或一段代碼的解釋和說明,它可以提高代碼的可讀性,讓人們能夠更加輕松地了解代碼所實現(xiàn)的功能。注釋的內(nèi)容將被Python的解釋器忽略,并不會被執(zhí)行。在Python中,注釋通常包括單行注釋和多行注釋兩種類型。2.2.1單行注釋58單行注釋用符號“#”表示,從符號“#”開始直到換行為止,“#”后面的所有內(nèi)容都為注釋。單行注釋既可以作為單獨一行放在被注釋代碼語句之上,又可以放在被注釋代碼語句之后。2.2.2多行注釋59多行注釋是指包含在一對三個單引號(''')或三個雙引號(""")之間的多行內(nèi)容,它位于被注釋代碼語句(或語段)前。當(dāng)注釋內(nèi)容過多,使用單行注釋顯示不完整時,就可以使用多行注釋。2.2.3課堂實驗——為短期借款、應(yīng)付票據(jù)、應(yīng)付賬款添加注釋60【實驗內(nèi)容】為短期借款(79670萬元)、應(yīng)付票據(jù)(58210元)、應(yīng)付賬款(27970萬元)添加注釋。(代碼位置:資源\第2章)【實驗思路】由于需要為短期借款、應(yīng)付票據(jù)、應(yīng)付賬款3行代碼段添加注釋,所以需要使用多行注釋。變量03.顧名思義,變量是指其值可以被改變的量。變量可以看作Excel中的一個單元格,專門用來“盛裝”程序中的數(shù)據(jù)。每個變量都擁有獨一無二的名字(相當(dāng)于Excel單元格地址),通過變量的名字就能找到變量中的數(shù)據(jù)。2.3.1變量賦值62在Python中,將數(shù)據(jù)存入變量的過程稱為賦值(相當(dāng)于往Excel某個單元格中輸入數(shù)據(jù))。變量的賦值用等號“=”(不是數(shù)學(xué)中“等于”的意思)來完成,其語法格式如下。2.3.1變量賦值63在Python中,同一個變量可以反復(fù)被賦值(相當(dāng)于Excel單元格中的值可以反復(fù)被更改),并允許被賦予不同數(shù)據(jù)類型的值。2.3.1變量賦值64為了更好地理解例2-8中代碼的含義,下面對每段代碼進(jìn)行解讀,并給出示意圖。第1段代碼中的assets=727語句可以理解為給某個單元格起名assets,并往該單元格中輸入727,如圖2-1所示。2.3.1變量賦值65第2段代碼中的assets=assets+900語句可以理解為先將單元格assets中的值取出來并與900相加,再寫回該單元格中,如圖2-2所示。2.3.1變量賦值66第3段代碼中的assets="資產(chǎn)"語句可以理解為把“資產(chǎn)”寫入單元格assets(覆蓋掉原先的值),如圖2-3所示。通過例2-8總結(jié)如下。①變量的值不是一成不變的,它可以隨時被修改;另外,不用關(guān)心數(shù)據(jù)的類型,可以將不同類型的數(shù)據(jù)賦值給同一個變量。②變量的值一旦被修改,之前的值就被覆蓋了。也就是說,一個變量只能容納一個值。2.3.2變量命名規(guī)則67在Python中,給變量命名要遵守一定的規(guī)則,違反這些規(guī)則將引發(fā)錯誤。具體命名規(guī)則如下。2.3.2變量命名規(guī)則682.3.2變量命名規(guī)則69除了以上命名規(guī)則外,我們在給變量命名的時候還要養(yǎng)成以下好習(xí)慣。①變量名要見名知意,即用英文單詞或單詞縮寫作為變量名。②當(dāng)變量名由兩個或兩個以上的單詞組成時,采用駝峰式命名法命名,即第一個單詞的首字母小寫,后續(xù)單詞的首字母大寫。例如,otherMonetaryFunds(其他貨幣資金)。另外要注意各單詞之間不能有空格,否則會引發(fā)錯誤。2.3.3課堂實驗——為公司所有者權(quán)益變量命名并賦值70【實驗內(nèi)容】為公司所有者權(quán)益變量命名并賦值為168670。(代碼位置:資源\第2章)【實驗思路】使用所有者權(quán)益的英文單詞作為變量的名字,并采用駝峰式命名法命名?;緮?shù)據(jù)類型:
數(shù)值04.對于財務(wù)人員來說,基本每天都要與數(shù)字打交道,比如日常收付款、材料采購、固定資產(chǎn)等。當(dāng)用Python來處理這些數(shù)字的時候,我們就需要對這些數(shù)字進(jìn)行數(shù)據(jù)分類。數(shù)字在Python中被分為數(shù)值類型,它是Python兩種基本數(shù)據(jù)類型之一。2.4.1數(shù)值的分類72Python中常見的數(shù)值類型包括整型(int)、浮點型(float)和布爾型(bool)。1.整型整型數(shù)值與數(shù)學(xué)中的整數(shù)一樣,是指不帶小數(shù)點的數(shù)字,包括正整數(shù)、負(fù)整數(shù)和0。整型的英文名為integer,簡稱int。例如,10、0、-48都為整型數(shù)值。2.浮點型浮點型數(shù)值與數(shù)學(xué)中的小數(shù)一樣,是指帶小數(shù)點的數(shù)字,在財務(wù)數(shù)據(jù)中用得最多。浮點型的英文名為float。例如,19.3、-4.235都為浮點型數(shù)值。3.布爾型Python提供布爾型(bool)數(shù)值來表示真(對)或假(錯)。比如6>3是正確的,在Python中使用True來表示;再比如7>20是錯誤的,在Python中使用False來表示。另外,布爾型數(shù)值可以當(dāng)作整型數(shù)值,即True相當(dāng)于整型數(shù)值1,F(xiàn)alse相當(dāng)于整型數(shù)值0。需要注意的是:True和False的首字母要用大寫,否則會報錯。2.4.2查看數(shù)值類型73在Python中,可以使用type()函數(shù)查看數(shù)值類型。【例2-9】使用type()函數(shù)查看數(shù)值類型。(代碼位置:資源\第2章)2.4.3課堂實驗——查看公司應(yīng)收利息的數(shù)值類型74【實驗內(nèi)容】輸出公司應(yīng)收利息273.817萬元的數(shù)值類型。(代碼位置:資源\第2章)【實驗思路】①輸出內(nèi)容同時含有數(shù)值和字符串,各部分之間用逗號隔開;②用type()函數(shù)輸出273.817的數(shù)值類型。常用運算符05.Python提供了豐富的運算符來完成各種數(shù)值之間的運算。常用的運算符包括算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符、成員運算符與身份運算符。使用運算符將不同類型的數(shù)值按照一定的規(guī)則連接起來的式子稱為表達(dá)式。2.5.1算術(shù)運算符76算術(shù)運算符用于兩個數(shù)值間的基本算術(shù)運算(類似數(shù)學(xué)中的加、減、乘、除運算),其運算結(jié)果為數(shù)值,如表2-2所示。2.5.2賦值運算符77賦值運算符主要用來為變量賦值,它分為兩類:基本賦值運算符和擴展賦值運算符?;举x值運算符在2.3.1小節(jié)中已經(jīng)介紹過,這里不贅述。擴展賦值運算符是由賦值運算符與算術(shù)運算符組合而成的一種復(fù)合運算符,如表2-3所示。2.5.2賦值運算符782.5.3比較運算符79比較運算符也稱關(guān)系運算符,用于對常量、變量或表達(dá)式的結(jié)果進(jìn)行比較。如果這種比較是成立的,則返回True(真),反之則返回False(假)。比較運算符如表2-4所示。2.5.4邏輯運算符80邏輯運算符通常用于對布爾值進(jìn)行運算,它一般和關(guān)系運算符結(jié)合使用,其結(jié)果也是布爾值。邏輯運算符如表2-5所示。2.5.4邏輯運算符81【例2-10】輸出由比較運算符和邏輯運算符組成的邏輯表達(dá)式的值。(代碼位置:資源\第2章)2.5.5成員運算符與身份運算符82成員運算符與身份運算符是Python中的特殊運算符。成員運算符主要用于判斷某個值是否為某個序列的成員;身份運算符主要用于判斷兩個變量是否引用自同一個對象,如表2-6所示。2.5.5成員運算符與身份運算符83【例2-11】判斷'財務(wù)分析'是否是'2022年度企業(yè)財務(wù)分析'的一部分,并輸出結(jié)果。(代碼位置:資源\第2章)【例2-12】判斷'2021年度企業(yè)財務(wù)分析'與'2022年度企業(yè)財務(wù)分析'這兩個字符串是否相同,并輸出結(jié)果。(代碼位置:資源\第2章)2.5.6運算符的優(yōu)先級84運算符的優(yōu)先級指的是在含有多個運算符的表達(dá)式中,應(yīng)該先計算哪一個,后計算哪一個,這與數(shù)學(xué)中四則運算應(yīng)遵循“先乘除,后加減”的規(guī)則類似。Python中運算符的運算規(guī)則如下。①優(yōu)先級高的運算符先執(zhí)行,優(yōu)先級低的運算符后執(zhí)行。②同一優(yōu)先級的運算符按照從左到右的順序執(zhí)行。③圓括號“()”可改變優(yōu)先級,即有圓括號就先執(zhí)行圓括號里的運算符;有多個圓括號嵌套,則先計算最里面的圓括號,再計算外面的圓括號。需要注意的是,Python中大部分運算符都是從左向右執(zhí)行的,只有單目運算符(如not)、賦值運算符和三目運算符例外,它們是從右向左執(zhí)行的。2.5.6運算符的優(yōu)先級852.5.6運算符的優(yōu)先級862.5.7課堂實驗——計算工資實發(fā)金額87【實驗內(nèi)容】某公司員工李莎莎的工資組成如表2-8所示,其中,業(yè)績工資=銷售額×提成比例,李莎莎的銷售額為100000元,提成比例為2%,未請假。計算并輸出李莎莎的實發(fā)工資。(代碼位置:資源\第2章)【實驗思路】①根據(jù)公式計算出業(yè)績工資;②計算實發(fā)工資,實發(fā)工資=基本工資+職級工資+全勤獎+津貼+業(yè)績工資-請假扣款-扣社保?;緮?shù)據(jù)類型:
字符串06.使用Python處理財務(wù)業(yè)務(wù),雖然大部分工作是用在計算方面的,但是有時也需要處理非計算方面的文本。文本在Python中被稱為字符串,它是另外一種基本數(shù)據(jù)類型。2.6.1字符串的定義89字符串是由字母、數(shù)字、符號、中文等各種文字組合而成的,它是用來表示文本的一種數(shù)據(jù)類型。字符串根據(jù)其內(nèi)容的多少,分為單行字符串和多行字符串。單行字符串需置于一對英文引號內(nèi),可為單引號或雙引號,二者作用相同,但不能混用,即不能一個單引號一個雙引號成對使用。多行字符串可以用三單引號或三雙引號引起來,二者同樣不能混用。2.6.1字符串的定義90【例2-13】顯示單行字符串和多行字符串。(代碼位置:資源\第2章)2.6.2字符串的基本操作91下面介紹字符串的基本操作。1.字符串索引號字符串中的每個字符(元素)都有一個序號,通過這個序號我們可以快速找到對應(yīng)字符,這個序號在Python中被稱為索引號。字符串的索引號有兩種:正向遞增索引號和反向遞減索引號。正向遞增索引號是從左往右編號,默認(rèn)從0開始;反向遞減索引號是從右往左編號,默認(rèn)從-1開始。以字符串“銀行存款177萬元”為例,其各個字符對應(yīng)的正向遞增索引號和反向遞減索引號如圖2-4所示。2.6.2字符串的基本操作922.字符串索引對字符串中某個字符的檢索稱為索引。其格式如下?!纠?-14】輸出字符串'銀行存款177萬元'中索引號為3和-6的字符。(代碼位置:資源\第2章)2.6.2字符串的基本操作933.字符串切片對字符串中某個子串的檢索稱為切片。其格式如下?!纠?-15】從字符串'銀行存款177萬元'中截取字符串。(代碼位置:資源\第2章)2.6.2字符串的基本操作944.字符串操作符針對字符串,Python提供了表2-9所示的兩個操作符。2.6.2字符串的基本操作955.格式化字符串格式化字符串是指讓輸出結(jié)果以指定的格式顯示。Python提供兩種格式化字符串的方法:一種是使用占位符(%),另一種是使用format()函數(shù)。使用占位符格式化字符串是指使用一個包含占位符的字符串作為模板,用占位符標(biāo)記指定位置,通過對占位符賦值,重復(fù)輸出格式固定但內(nèi)容不同的文本。常見的占位符如表2-10所示。2.6.2字符串的基本操作96【例2-16】使用占位符格式化輸出字符串'公司2022年第2季度銀行存款余額為17287.68元'。(代碼位置:資源\第2章)2.6.2字符串的基本操作97format()函數(shù)與占位符的作用類似,只是使用“{}”和“:”代替占位符。使用該函數(shù)格式化字符串時可以指定參數(shù)名、索引、數(shù)字等,它比占位符支持更多的功能。下面通過一個具體的案例來介紹format()函數(shù)的幾種主要用法?!纠?-17】使用format()函數(shù)格式化輸出字符串'公司2022年第2季度銀行存款余額為17287.68元'。(代碼位置:資源\第2章)2.6.2字符串的基本操作982.6.3課堂實驗——格式化公司應(yīng)收賬款99【實驗內(nèi)容】使用format()函數(shù)格式化字符串“公司2023年第1季度應(yīng)收賬款為7906072.57元”,其中金額以貨幣形式顯示。(代碼位置:資源\第2章)【實驗思路】金額需要使用千位符,保留兩位小數(shù)。高級數(shù)據(jù)類型07.2.4節(jié)和2.6節(jié)介紹了兩種基本的數(shù)據(jù)類型:數(shù)值和字符串。使用它們可以完成很多功能。但要實現(xiàn)更強大、更復(fù)雜的功能,僅靠這兩種數(shù)據(jù)類型是不夠的,還需要使用列表、元組、字典以及集合等高級數(shù)據(jù)類型才能完成。這4種數(shù)據(jù)類型總體上都起存放成組數(shù)據(jù)的作用,但都有各自的特點,下面分別介紹。2.7.1列表101例如,[1,2,3,4,5]和['資產(chǎn)負(fù)債表','利潤表','現(xiàn)金流量表']都是列表。需要注意的是,在使用列表時,雖然可以將不同類型的數(shù)據(jù)放入同一個列表,但通常情況下不要這么做,因為同一個列表中只放入同一類型的數(shù)據(jù),可以提高程序的可讀性。列表是Python用來將多個數(shù)據(jù)(也稱為元素)按一定順序排列并存儲為一個數(shù)據(jù)的數(shù)據(jù)類型,其中的數(shù)據(jù)既可以是數(shù)值或字符串等基本數(shù)據(jù)類型,又可以是列表、元組、字典等高級數(shù)據(jù)類型。它的所有元素都放在一對中括號“[]”中,并使用逗號分隔,其格式如下。2.7.1列表1021.訪問列表與字符串類似,列表中的每個元素也有正向遞增索引號和反向遞減索引號,且默認(rèn)正向遞增索引號是從0開始,反向遞減索引號從-1開始,如圖2-5所示。2.7.1列表103用戶可以通過索引或切片來訪問列表中的元素。(1)利用索引訪問列表中的單個元素【例2-18】獲取['資產(chǎn)負(fù)債表','利潤表','現(xiàn)金流量表']列表中的第2個元素。(代碼位置:資源\第2章)2.7.1列表104(2)利用切片訪問列表中的多個元素【例2-19】獲取['庫存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)','應(yīng)收票據(jù)','應(yīng)收賬款']列表中的前2個元素、第3~5個元素、后3個元素。(代碼位置:資源\第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.修改列表元素通過對指定索引號處的列表元素重新賦值,可修改該列表元素?!纠?-21】將列表['庫存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']的第3項修改為'應(yīng)收票據(jù)'。(代碼位置:資源\第2章)2.7.1列表1094.查找列表元素通過以下兩種方法可以查找列表元素。(1)通過index()方法查找指定列表元素【例2-22】查找列表['庫存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']中'銀行存款'元素的索引號并返回。(代碼位置:資源\第2章)2.7.1列表110(2)通過in運算符判斷列表中是否存在指定列表元素【例2-23】判斷列表['庫存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']中是否存在'銀行存款'、'應(yīng)收票據(jù)'。(代碼位置:資源\第2章)2.7.1列表1115.刪除列表元素刪除列表元素的常用方法如表2-12所示。2.7.1列表112【例2-24】使用表2-12中的4種方法刪除['庫存現(xiàn)金','銀行存款','其他貨幣資金','交易性金融資產(chǎn)']列表中指定的元素。(代碼位置:資源\第2章)2.7.1列表1136.列表排序列表排序的常用方法如表2-13所示?!纠?-25】分別對數(shù)字列表、英文字符串列表進(jìn)行升序排列。(代碼位置:資源\第2章)(1)數(shù)字列表升序排列對數(shù)字列表進(jìn)行升序排列,就是對各元素按照其數(shù)值從小到大排列。2.7.1列表114(2)英文字符串列表升序排列對英文字符串列表進(jìn)行升序排列,就是對各元素按照其ASCII碼從小到大的順序排列。通常記住以下規(guī)律即可。①從'A'到'Z'的26個大寫英文字母,'A'的ASCII碼最小,'Z'的ASCII碼最大,即'A'<'B'<'C'<…<'Z'。26個小寫英文字母也具有這個規(guī)律,即'a'<'b'<'c'<…<'z',且'Z'<'a'。②數(shù)字字符排序時,也是按照其ASCII碼的大小進(jìn)行排序,其規(guī)律是'0'<'1'<…<'9',且'9'<'A'。③兩個英文字符串比較大?。合缺容^首字符,其ASCII碼大的字符串大;首字符相同,就比較第二個字符,其ASCII碼大的字符串大;以此類推。如果比較到最后一個字符都相同,則字符串長的字符串大。2.7.1列表1152.7.1列表1162.7.2元組117元組是和列表非常相似的一種數(shù)據(jù)類型,它與列表的區(qū)別如下。①列表使用[]表示,而元組使用()表示。②列表是可變數(shù)據(jù)類型,可對其元素進(jìn)行增、刪、改等操作,而元組是不可變數(shù)據(jù)類型,一旦初始化,就不能改變,不能對其元素進(jìn)行增、刪、改等操作。③元組不能排序。1.訪問元組訪問元組的方法與列表的相同。用戶可以通過索引或切片訪問元組中的元素?!纠?-26】獲取('主營業(yè)務(wù)成本','其他業(yè)務(wù)成本','銷售費用','管理費用','財務(wù)費用')元組中的第2個元素、第1~3個元素。(代碼位置:資源\第2章)2.7.2元組1182.查找元組元素查找元組元素的方法與列表的相同。用戶可通過index()方法查找指定元組元素,也可以通過in運算符判斷元組中是否存在指定元組元素?!纠?-27】在元組('主營業(yè)務(wù)成本','其他業(yè)務(wù)成本','銷售費用','管理費用','財務(wù)費用')中查找'銷售費用'的索引號,并判斷該元組中是否存在'銷售費用'元素。(代碼位置:資源\第2章)2.7.3字典119Python中的字典是一種無序的、可變的序列,它的元素以“鍵值對(key-value)”的形式存儲,即一個鍵對應(yīng)一個值,是一種映射數(shù)據(jù)類型。鍵值對很像學(xué)生時代常用的新華字典,鍵相當(dāng)于《新華字典》里的音節(jié)表,值相當(dāng)于《新華字典》里該音節(jié)表對應(yīng)的漢字,如圖2-6所示。2.7.3字典120字典中的每個元素都包含兩部分,分別是鍵(key)和值(value)。在創(chuàng)建字典時,鍵和值之間使用冒號分隔,相鄰元素之間使用逗號分隔,所有元素都放在大括號{}中,其格式如下。{'key1':'value1','key2':'value2',…,'keyn':'valuen‘}字典具有如下特征。①鍵是唯一的,值可以重復(fù)。相同的鍵,字典只會識別最后一次設(shè)置的值。②鍵是不可變的,即鍵可以添加,不可以修改。③值是可變的,可以修改。2.7.3字典1211.增加字典元素通過賦值的方式可以增加字典元素?!纠?-28】為資產(chǎn)類的會計科目編碼字典({'1001':'庫存現(xiàn)金','1002':'銀行存款','1003':'存放中央銀行款項'})增加元素('1011':'存放同業(yè)')。(代碼位置:資源\第2章)2.7.3字典1222.刪除字典元素通過pop()和popitem()方法可以刪除字典元素?!纠?-29】分別使用pop()和popitem()方法刪除字典元素。(代碼位置:資源\第2章)2.7.3字典1233.修改字典元素通過賦值的方式可以修改字典元素。注意,鍵只有存在才是修改值,鍵如果不存在則是增加字典元素?!纠?-30】假設(shè)在例2-28所示的資產(chǎn)類的會計科目編碼字典中,鍵'1002'對應(yīng)的值被錯誤地寫成'銀行存錢',請將其修改為正確的值'銀行存款'。(代碼位置:資源\第2章)2.7.3字典1244.返回字典中的所有鍵值對、鍵和值使用items()、keys()和values()方法可以分別返回字典中的所有鍵值對、鍵和值?!纠?-31】輸出例2-28所示的資產(chǎn)類的會計科目編碼字典中的所有鍵值對、鍵和值。(代碼位置:資源\第2章)2.7.3字典1255.查找、訪問字典元素使用in運算符可以判斷字典的鍵值對、鍵和值是否存在;使用鍵可以訪問值。【例2-32】以例2-28中的資產(chǎn)類的會計科目編碼字典為例,判斷指定的鍵值對、鍵和值是否存在,并訪問指定鍵對應(yīng)的值。(代碼位置:資源\第2章)2.7.4集合126Python中的集合和數(shù)學(xué)中的集合概念一樣,它是一種無序、不重復(fù)元素的組合,即集合中的元素都是唯一的,互不相同。集合中沒有索引和位置的概念。集合將所有元素放在一對大括號中,相鄰元素之間用逗號分隔,其格式如下。1.添加集合元素使用add()和update()方法可以為集合添加元素?!纠?-33】為負(fù)債類集合({'短期借款','應(yīng)付票據(jù)','應(yīng)付賬款','預(yù)收賬款'})添加新的元素。(代碼位置:資源\第2章)2.7.3字典1272.7.4集合1282.刪除集合元素使用remove()方法可以刪除集合中的元素?!纠?-34】以例2-33中的負(fù)債類集合為例,刪除集合中指定的元素。(代碼位置:資源\第2章)2.7.5數(shù)據(jù)類型轉(zhuǎn)換129在實際工作中,經(jīng)常需要將一種數(shù)據(jù)類型轉(zhuǎn)換成另外一種數(shù)據(jù)類型,才能滿足數(shù)據(jù)處理的要求。常見的數(shù)據(jù)類型轉(zhuǎn)換函數(shù)如表2-14所示。2.7.5數(shù)據(jù)類型轉(zhuǎn)換130【例2-35】從鍵盤接收某公司的資產(chǎn)金額和負(fù)債金額,計算該公司的所有者權(quán)益。(代碼位置:資源\第2章)2.7.5數(shù)據(jù)類型轉(zhuǎn)換131【例2-36】分別使用list()、tuple()、dict()函數(shù)完成數(shù)據(jù)類型轉(zhuǎn)換。(代碼位置:資源\第2章)(1)list()函數(shù)使用list()函數(shù)將元組轉(zhuǎn)換為列表。2.7.5數(shù)據(jù)類型轉(zhuǎn)換132(2)tuple()函數(shù)使用tuple()函數(shù)將字典轉(zhuǎn)換為元組。(3)dict()函數(shù)使用dict()函數(shù)將特殊的列表或元組(它們中的元素是包含2個元素的列表或元組,其中第一個元素作為鍵,第二個元素作為值)轉(zhuǎn)換成字典。2.7.6課堂實驗——編輯銀行存款二級編碼字典133【實驗內(nèi)容】現(xiàn)有某公司銀行存款二級科目:中國建設(shè)銀行、中國工商銀行、中國農(nóng)業(yè)銀行、北京銀行。編輯該公司銀行存款二級編碼字典。(代碼位置:資源\第2章)【實驗思路】①銀行存款是一級科目,其編碼為'1002';②銀行存款二級科目編碼應(yīng)是6位,前4位為一級科目編碼,后兩位為流水號。實訓(xùn)1創(chuàng)建財務(wù)費用二級科目列表【實訓(xùn)目標(biāo)】創(chuàng)建公司財務(wù)費用二級科目列表。(代碼位置:資源\第2章)【實訓(xùn)思路】①財務(wù)費用二級科目包括利息收入、利息支出、匯兌收益、匯兌損失、手續(xù)費及現(xiàn)金折扣;②將所有二級科目放在一對中括號中,相鄰二級科目之間用逗號分隔。項目實訓(xùn)實訓(xùn)2計算公司壞賬準(zhǔn)備金額【實訓(xùn)目標(biāo)】從鍵盤輸入某公司應(yīng)收賬款壞賬準(zhǔn)備金額769277元,其他應(yīng)收賬款壞賬準(zhǔn)備金額279218元,計算該公司的壞賬準(zhǔn)備金額(金額以貨幣的形式顯示)。(代碼位置:資源\第2章)【實訓(xùn)思路】①使用input()函數(shù)從鍵盤上接收應(yīng)收賬款壞賬準(zhǔn)備金額和其他應(yīng)收賬款壞賬準(zhǔn)備金額;②使用float()函數(shù)將它們轉(zhuǎn)換為浮點數(shù)后相加,并將金額以貨幣的形式顯示。項目實訓(xùn)課堂素養(yǎng)北京國家會計學(xué)院校訓(xùn)誠信為本、操守為重、堅持準(zhǔn)則、不做假賬。感謝觀看!Python程序設(shè)計與財務(wù)應(yīng)用(微課版)Python程序設(shè)計與財務(wù)應(yīng)用(微課版)第3章
Python語法進(jìn)階知識目標(biāo)1.掌握分支結(jié)構(gòu);2.掌握循環(huán)結(jié)構(gòu);3.掌握函數(shù)和模塊。技能目標(biāo)1.能夠根據(jù)單個、兩個或多個條件實現(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.我們編寫程序的時候,遇到選擇時如何判斷執(zhí)行呢?2.在財務(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í)中,我們編寫的Python代碼都是一條一條語句順序執(zhí)行的,這種代碼結(jié)構(gòu)稱為順序結(jié)構(gòu),其流程圖如圖3-1所示。然而僅有順序結(jié)構(gòu)并不能解決所有的問題,比如每月根據(jù)銷售額計算提成:銷售額大于10萬元按5%計算提成,否則按3%計算提成。那么在下個月初,我們要根據(jù)員工的銷售額來決定究竟是按5%計算提成,還是按3%計算提成,這里就會產(chǎn)生兩個分支,而且這兩個分支只有一個會被執(zhí)行。類似的場景還有很多,我們將這種結(jié)構(gòu)稱為分支結(jié)構(gòu)(選擇結(jié)構(gòu))。常見的分支結(jié)構(gòu)有單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu)3種。3.1.1單分支結(jié)構(gòu)144單分支結(jié)構(gòu)是最簡單的分支結(jié)構(gòu),我們用if語句來表示。其語法格式如下。其功能是:如果if條件表達(dá)式的結(jié)果為真,則執(zhí)行if之后的語句塊,然后執(zhí)行分支結(jié)構(gòu)以外的語句;如果if條件表達(dá)式的結(jié)果為假,則不執(zhí)行其后面的語句塊,直接執(zhí)行分支結(jié)構(gòu)以外的語句。if語句的流程圖如圖3-2所示。需要注意的是:①if條件表達(dá)式的最后一定不能漏掉符號“:”,否則會出錯;②符號“:”之后的語句塊中的語句必須縮進(jìn),否則會出錯。3.1.1單分支結(jié)構(gòu)145實際上,在Python中,當(dāng)前行與前一行的關(guān)系是根據(jù)縮進(jìn)來判斷的:如果縮進(jìn)相同,Python就認(rèn)為它們是一個語句塊;否則是兩個語句塊。在JupyterNotebook中,在遇到分支結(jié)構(gòu)語句時,按Enter鍵系統(tǒng)會自動縮進(jìn)下一條語句(與按下Tab鍵的效果一樣,即空4個空格)?!纠?-1】使用if語句判斷用戶輸入的工齡是否大于等于10年,如果為真,則工資增加500元,否則保持原有工資不變。(代碼位置:資源\第3章)其流程圖如圖3-3所示。3.1.1單分支結(jié)構(gòu)146實際上,在Python中,當(dāng)前行與前一行的關(guān)系是根據(jù)縮進(jìn)來判斷的:如果縮進(jìn)相同,Python就認(rèn)為它們是一個語句塊;否則是兩個語句塊。在JupyterNotebook中,在遇到分支結(jié)構(gòu)語句時,按Enter鍵系統(tǒng)會自動縮進(jìn)下一條語句(與按下Tab鍵的效果一樣,即空4個空格)。3.1.2雙分支結(jié)構(gòu)147雙分支結(jié)構(gòu)是一種非“1”即“2”的分支結(jié)構(gòu),我們用if…else語句來表示。其語法格式如下。其功能是:如果if條件表達(dá)式的結(jié)果為真,則執(zhí)行if條件表達(dá)式之后的語句塊1,執(zhí)行后忽略else后面的語句塊2,直接執(zhí)行分支結(jié)構(gòu)以外的語句;如果if條件表達(dá)式的結(jié)果為假,則忽略if之后的語句塊1,執(zhí)行else后面的語句塊2,然后執(zhí)行分支結(jié)構(gòu)以外的語句。if…else語句的流程圖如圖3-4所示。需要注意的是:else語句不能單獨使用,必須和if語句一起使用。3.1.2雙分支結(jié)構(gòu)148【例3-2】使用if…else語句判斷用戶輸入的工齡是否大于等于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語句來表示。其語法格式如下。3.1.3多分支結(jié)構(gòu)151其功能是:如果if條件表達(dá)式1的結(jié)果為真,則執(zhí)行語句塊1,執(zhí)行后忽略后面的elif和else語句,直接執(zhí)行分支結(jié)構(gòu)以外的語句;如果elif條件表達(dá)式2的結(jié)果為真,則執(zhí)行語句塊2,執(zhí)行后直接執(zhí)行分支結(jié)構(gòu)以外的語句……如果前n-1個條件表達(dá)式都不為真,則執(zhí)行語句塊n,執(zhí)行完后直接執(zhí)行分支結(jié)構(gòu)以外的語句。其流程圖如圖3-6所示。3.1.3多分支結(jié)構(gòu)152【例3-3】使用if…elif…else語句計算銷售人員每月提成金額,提成規(guī)則如表3-1所示。(代碼位置:資源\第3章)3.1.3多分支結(jié)構(gòu)153其流程圖如圖3-7所示。3.1.3多分支結(jié)構(gòu)1543.1.4嵌套if語句155嵌套if語句適用于多分支的情況,雖然if…elif…else語句也適用于多分支,但是它們是有區(qū)別的。if…elif…else語句的應(yīng)用場景是:同時判斷多個條件,所有的條件都是平級的。嵌套if語句的應(yīng)用場景是:在使用if語句進(jìn)行條件判斷時,如果希望在條件成立或不成立的執(zhí)行語句中增加額外的條件判斷(該條件從層級上來講比前面的條件低一級)。嵌套if語句的語法格式除了縮進(jìn)之外,其余和多分支結(jié)構(gòu)沒有區(qū)別,嵌套在里層的if語句的語句塊需要再次縮進(jìn)4個空格,在JupyterNotebook中編寫嵌套if語句時,系統(tǒng)會按層級的不同自動分層縮進(jìn)。嵌套if語句通常使用兩個層級嵌套,不提倡多級嵌套if語句,因為效率較低。3.1.4嵌套if語句156【例3-4】某商場在促銷日舉行打折活動,如果購買的是啤酒就打5折,其他商品打8折。非促銷日商品不打折。使用嵌套if語句判斷用戶輸入是否為促銷日,商品是否打折及打折的幅度,并輸出實付金額、應(yīng)付金額及優(yōu)惠。(代碼位置:資源\第3章)其流程圖如圖3-8所示。3.1.4嵌套if語句1573.1.4嵌套if語句1583.1.5課堂實驗——根據(jù)公司固定資產(chǎn)類型計算月折舊額159【實驗內(nèi)容】從鍵盤輸入公司固定資產(chǎn)類型和價格,采用直線法計提折舊,計算其月折舊額。固定資產(chǎn)折舊規(guī)定如表3-2所示。(代碼位置:資源\第3章)【實驗思路】①固定資產(chǎn)有4種類型,可以采用多分支結(jié)構(gòu)(if…elif…else語句)進(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)。在財務(wù)工作中,我們經(jīng)常需要重復(fù)做某些工作。例如,每個月都要計算員工工資,每個月末都要結(jié)賬等。為了高效地完成重復(fù)性工作,Python提供了解決這種問題的方法——循環(huán)結(jié)構(gòu),它通過將一段代碼重復(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í)行一組語句(循環(huán)體語句塊)的循環(huán)結(jié)構(gòu)。其語法格式如下。其功能是:如果條件表達(dá)式的結(jié)果為真,就一直執(zhí)行循環(huán)體語句塊;如果條件表達(dá)式的結(jié)果為假,就退出循環(huán)體,執(zhí)行循環(huán)結(jié)構(gòu)以外的語句。while循環(huán)的流程圖如圖3-9所示。3.2.1while循環(huán)163根據(jù)循環(huán)次數(shù)是否確定(已知),可以將while循環(huán)分為計數(shù)型while循環(huán)和條件型while循環(huán)。1.計數(shù)型while循環(huán)計數(shù)型while循環(huán)是指已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu)。通常采用計數(shù)器變量來控制循環(huán)的次數(shù),需要設(shè)置循環(huán)變量的初始值、終止值及每次循環(huán)的增量(或減量),循環(huán)結(jié)束的條件是計數(shù)器變量超出給定的終止值?!纠?-5】2023年5月31日,公司對存貨進(jìn)行了盤點,盤點結(jié)果如表3-3所示。請根據(jù)盤點結(jié)果做出相應(yīng)的賬務(wù)處理。(代碼位置:資源\第3章)3.2.1while循環(huán)164賬務(wù)處理規(guī)則如下。如果實存數(shù)量和賬存數(shù)量一致,則輸出“無須進(jìn)行賬目處理!”;如果實存數(shù)量小于賬存數(shù)量,則計算盤虧金額[盤虧金額=(賬存數(shù)量-實存數(shù)量)×單價],并保留兩位小數(shù)格式化輸出“發(fā)生盤虧:**元”;如果實存數(shù)量大于賬存數(shù)量,則計算盤盈金額[盤盈金額=(實存數(shù)量-賬存數(shù)量)×單價],并保留兩位小數(shù)格式化輸出“發(fā)生盤盈:**元”。其流程圖如圖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)條件的語句(讓循環(huán)條件不成立),以使循環(huán)能夠結(jié)束;否則,循環(huán)將無休止地執(zhí)行,形成“死循環(huán)”。【例3-6】使用循環(huán)結(jié)構(gòu)從鍵盤輸入成本類二級科目(生產(chǎn)成本、制造費用、勞務(wù)成本費、研發(fā)支出、工程施工、工程結(jié)算),形成成本類二級科目列表,輸入“退出”結(jié)束輸入。(代碼位置:資源\第3章)其流程圖如圖3-11所示。3.2.1while循環(huán)1673.2.2for-in循環(huán)168其功能是:遍歷序列中的所有元素并賦值給變量(從序列的第一個元素開始,依次取到最后一個元素),遍歷結(jié)束就退出循環(huán),然后執(zhí)行循環(huán)結(jié)構(gòu)以外的語句。需要注意的是,for-in循環(huán)中的變量將會在每次循環(huán)開始時自動被賦值,因此不需要在循環(huán)中再對該變量賦值。for-in循環(huán)的流程圖如圖3-12所示。for-in循環(huán)類似于計數(shù)型while循環(huán),也是已知循環(huán)次數(shù)的循環(huán)結(jié)構(gòu),其循環(huán)次數(shù)取決于in后面的序列(如字符串、列表、元組、字典等)中元素的個數(shù)。其語法格式如下。3.2.2for-in循環(huán)169【例3-7】遍歷成本類二級科目列表(生產(chǎn)成本、制造費用、勞務(wù)成本費、研發(fā)支出、工程施工、工程結(jié)算),形成并輸出成本類二級科目字符串。(代碼位置:資源\第3章)其流程圖如圖3-13所示。3.2.2for-in循環(huán)170【例3-7】遍歷成本類二級科目列表(生產(chǎn)成本、制造費用、勞務(wù)成本費、研發(fā)支出、工程施工、工程結(jié)算),形成并輸出成本類二級科目字符串。(代碼位置:資源\第3章)其流程圖如圖3-13所示。3.2.3break語句171在循環(huán)體語句中,當(dāng)所需條件滿足時,為了提高效率(既然已滿足所需條件,再繼續(xù)循環(huán)下去就沒有意義了),可以使用break語句提前退出循環(huán),然后執(zhí)行循環(huán)結(jié)構(gòu)后面的語句。其流程圖如圖3-14所示。3.2.3break語句172【例3-8】某公司成本類二級科目費用如表3-4所示,找出并輸出勞務(wù)成本費。(代碼位置:資源\第3章)3.2.3break語句173其流程圖如圖3-15所示。3.2.3break語句1743.2.4continue語句175在循環(huán)體語句塊中,當(dāng)滿足所需條件時,使用continue語句可立即結(jié)束本輪循環(huán)(即不執(zhí)行continue語句之后的語句),跳轉(zhuǎn)到循環(huán)結(jié)構(gòu)開始處,開始新一輪循環(huán)。其流程圖如圖3-16所示。3.2.4continue語句176【例3-9】某公司上半年開票數(shù)如表3-5所示,找出并輸出開票數(shù)大于10的所有月份及開票數(shù)。(代碼位置:資源\第3章)其流程圖如圖3-17所示。3.2.4continue語句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)稱為外循環(huán),里層的循環(huán)稱為內(nèi)循環(huán)。其語法格式如下。3.2.5循環(huán)嵌套179【例3-10】某公司各部門下一年的年度管理費用預(yù)算如表3-6所示,各季度管理費用分配比例如表3-7所示。計算并輸出各部門下一年各季度的管理費用預(yù)算。(代碼位置:資源\第3章)3.2.5循環(huán)嵌套180其流程圖如圖3-18所示。3.2.5循環(huán)嵌套181其流程圖如圖3-18所示。3.2.6課堂實驗——篩選符合條件的全部工資數(shù)據(jù)182【實驗內(nèi)容】某公司員工小張1~6月的工資如表3-8所示,篩選出工資大于8000元的所有月份及工資。(代碼位置:資源\第3章)【實驗思路】①建立月份工資字典;②使用for-in循環(huán)和continue語句完成篩選。函數(shù)03.函數(shù)就是程序中可重復(fù)使用的、能實現(xiàn)某些功能的代碼段。當(dāng)這樣的代碼段被定義為函數(shù)后,在需要使用這段代碼段的地方,僅用一條調(diào)用該函數(shù)的語句即可。這樣可以使程序看起來很簡潔(減少重復(fù)性),并降低復(fù)制、粘貼錯誤的概率。Python中的函數(shù)有兩種,一種是內(nèi)置函數(shù),另一種是自定義函數(shù)。3.3.1內(nèi)置函數(shù)184為了提高效率、方便用戶使用,Python為一些常用的功能編寫了代碼,并定義為相應(yīng)的函數(shù),這樣的函數(shù)稱為內(nèi)置函數(shù)。在需要使用內(nèi)置函數(shù)完成某些功能的時候,直接調(diào)用內(nèi)置函數(shù)即可。Python提供的內(nèi)置函數(shù),除了前面介紹的input()、print()、format()等函數(shù)外,還包括另外幾十個常用的內(nèi)置函數(shù)。限于篇幅,下面僅介紹一些常見內(nèi)置函數(shù)的用法。1.max()和min()函數(shù)max()函數(shù)用于返回可迭代對象的元素中的最大值或者所有參數(shù)的最大值,min()函數(shù)用于返回可迭代對象的元素中的最小值或者所有參數(shù)的最小值??傻鷮ο罂梢院唵蔚乩斫鉃榭梢允褂胒or循環(huán)的對象。元組、列表、字典、字符串等都是可迭代對象。3.3.1內(nèi)置函數(shù)185【例3-11】max()函數(shù)的常見用法(由于min()函數(shù)的常見用法與max()函數(shù)類似,這里不再詳細(xì)介紹)。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1862.round()函數(shù)round()函數(shù)用于返回對浮點數(shù)進(jìn)行四舍五入后的值?!纠?-12】某小微企業(yè)全年應(yīng)納稅所得額為955327元,按2.5%的稅率繳納企業(yè)所得稅,計算企業(yè)所得稅(四舍五入、保留兩位小數(shù))。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1873.pow()函數(shù)pow()函數(shù)用于返回某個值的冪運算值。【例3-13】某企業(yè)銀行貸款的年利率為5.85%,計算期數(shù)為5的復(fù)利終值系數(shù)(四舍五入、保留4位小數(shù))。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1884.sum()函數(shù)sum()函數(shù)用于返回可迭代對象中各元素之和?!纠?-14】sum()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1895.tuple()函數(shù)tuple()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個新的元組。【例3-15】tuple()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1906.list()函數(shù)list()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個新的列表?!纠?-16】list()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1917.dict()函數(shù)dict()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個新的字典?!纠?-17】dict()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內(nèi)置函數(shù)1928.zip()函數(shù)zip()函數(shù)用于將可迭代對象作為參數(shù),將可迭代對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的對象。zip()函數(shù)對象不能直接輸出,可使用list()、tuple()、dict()函數(shù)來轉(zhuǎn)換輸出,如果各個可迭代對象的元素個數(shù)不一致,則返回的列表長度以最短的可迭代對象的元素個數(shù)為準(zhǔn)?!纠?-18】zip()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.2自定義函數(shù)193雖然使用Python提供的內(nèi)置函數(shù)可以實現(xiàn)很多常見功能,但是在實際工作中,仍然有許多重復(fù)性的功能無法通過內(nèi)置函數(shù)來完成,這時就需要通過自定義函數(shù)來完成這些功能,實現(xiàn)一次編寫、多次調(diào)用的目的。1.自定義函數(shù)的格式自定義函數(shù)的格式如下。3.3.2自定義函數(shù)194自定義函數(shù)要遵守以下規(guī)則。①函數(shù)以def關(guān)鍵詞開頭,后接函數(shù)名和一對圓括號()。②圓括號中可以沒有參數(shù)(絕大部分情況下有參數(shù)),如果有多個參數(shù),則多個參數(shù)之間用逗號分隔。③函數(shù)體要縮進(jìn)。④函數(shù)是否有返回值根據(jù)函數(shù)要實現(xiàn)的功能而定(絕大部分情況下有返回值)。有返回值就要有return語句,沒有返回值則不用有return語句。⑤函數(shù)體的開頭通常用于存放函數(shù)說明,包括函數(shù)的功能說明、參數(shù)說明、返回值說明等。3.3.2自定義函數(shù)1952.參數(shù)傳遞在數(shù)學(xué)中,當(dāng)使用三角函數(shù)sin(x)來計算30°的正弦值的時候,需要使用30°這個實際數(shù)值來代替x。同樣的道理,當(dāng)函數(shù)定義好以后,在程序中調(diào)用函數(shù)時,也需要用實際數(shù)值來代替定義函數(shù)時使用的參數(shù),這個過程就稱為參數(shù)傳遞。函數(shù)的參數(shù)分為兩種:定義函數(shù)時使用的參數(shù)稱為形式參數(shù);調(diào)用函數(shù)時使用的實際數(shù)值(或變量)稱為實際參數(shù)。3.3.2自定義函數(shù)196【例3-19】通過計算所有者權(quán)益理解參數(shù)傳遞。(代碼位置:資源\第3章)3.3.2自定義函數(shù)197在調(diào)用函數(shù)時,將實際參數(shù)傳遞給形式參數(shù)有多種方式,下面分別介紹。(1)使用位置參數(shù)傳遞位置參數(shù)是指在調(diào)用自定義函數(shù)時,必須按照順序?qū)嶋H參數(shù)傳遞給形式參數(shù),即傳入實際參數(shù)的位置和數(shù)量必須和定義函數(shù)時完全一致。例3-19屬于位置參數(shù)。(2)使用默認(rèn)參數(shù)值傳遞定義參數(shù)時,可以為參數(shù)指定默認(rèn)值。在傳遞參數(shù)的時候,如果參數(shù)值沒有傳入,則會用默認(rèn)值代替;如果傳入?yún)?shù),則默認(rèn)值不起作用。需要注意的是,有默認(rèn)值的參數(shù)應(yīng)放在最后,否則會出錯。3.3.2自定義函數(shù)198【例3-20】通過計算銀行存款理解默認(rèn)參數(shù)值。(代碼位置:資源\第3章)3.3.2自定義函數(shù)199(3)使用關(guān)鍵字參數(shù)傳遞關(guān)鍵字參數(shù)是指在調(diào)用函數(shù)時,采用“參數(shù)名=值”的形式傳遞參數(shù),無須按照指定順序傳遞參數(shù)。這種方式更加靈活,既可以避免由于參數(shù)順序不對造成的錯誤,又可以讓函數(shù)的調(diào)用者更加明確每個參數(shù)所傳遞的具體值。【例3-21】通過計算銀行存款理解關(guān)鍵字參數(shù)。(代碼位置:資源\第3章)3.3.2自定義函數(shù)200(4)使用可變位置參數(shù)傳遞在定義函數(shù)的時候,有時候并不知道調(diào)用時傳入?yún)?shù)的數(shù)量,這時候就需要用到可變位置參數(shù)。使用可變位置參數(shù)時,參數(shù)前面應(yīng)添加“*”。【例3-22】定義一個通用的計算銀行存款的函數(shù),無論銀行有多少家,都能正確計算。(代碼位置:資源
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能路燈照明系統(tǒng)合同(2篇)
- 機場擴建工程招標(biāo)合同(2篇)
- 本人用工合同(2篇)
- 2025年山西藝術(shù)職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2025至2031年中國除銹液行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國波動開關(guān)行業(yè)投資前景及策略咨詢研究報告
- 旅服務(wù)評價中的情感分析技術(shù)-深度研究
- 2025年度門店員工雇傭合同及員工工作環(huán)境改善協(xié)議
- 2025年度網(wǎng)絡(luò)游戲消費協(xié)議合同模板
- 二零二五年度水果種植基地農(nóng)業(yè)資源綜合利用合同
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 最經(jīng)典凈水廠施工組織設(shè)計
- VDA6.3過程審核報告
- 彈性力學(xué)數(shù)值方法:解析法:彈性力學(xué)中的變分原理
- 不定代詞用法總結(jié)及配套練習(xí)題
- 河南省鄧州市2023-2024學(xué)年八年級上學(xué)期期末語文試題
- 網(wǎng)絡(luò)輿情應(yīng)對處置培訓(xùn)課件
- 物流服務(wù)項目的投標(biāo)書
- 國家中長期科技發(fā)展規(guī)劃綱要2021-2035
- 導(dǎo)尿術(shù)操作技術(shù)
- 中日勞務(wù)合同范本
評論
0/150
提交評論