《Python程序設計與財務應用(微課版)》全套教學課件_第1頁
《Python程序設計與財務應用(微課版)》全套教學課件_第2頁
《Python程序設計與財務應用(微課版)》全套教學課件_第3頁
《Python程序設計與財務應用(微課版)》全套教學課件_第4頁
《Python程序設計與財務應用(微課版)》全套教學課件_第5頁
已閱讀5頁,還剩432頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python程序設計與財務應用(微課版)第1章

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論