




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python程序設計與財務應用(微課版)第3章
Python語法進階知識目標1.掌握分支結構;2.掌握循環(huán)結構;3.掌握函數(shù)和模塊。技能目標1.能夠根據(jù)單個、兩個或多個條件實現(xiàn)正確選擇;2.能夠根據(jù)條件或次數(shù)完成重復性的工作;3.能夠根據(jù)需要,使用內置函數(shù)、自定義函數(shù)或lambda函數(shù)完成某些重復性的功能;4.掌握模塊的導入及使用模塊完成某些功能。學習目標章節(jié)導圖思考題1.我們編寫程序的時候,遇到選擇時如何判斷執(zhí)行呢?2.在財務工作中,有些工作是重復性的,如何減少重復、提高效率呢?章節(jié)導讀CONTENTS分支結構01.02.循環(huán)結構函數(shù)03.模塊04.分支結構01.6在前面章節(jié)的學習中,我們編寫的Python代碼都是一條一條語句順序執(zhí)行的,這種代碼結構稱為順序結構,其流程圖如圖3-1所示。然而僅有順序結構并不能解決所有的問題,比如每月根據(jù)銷售額計算提成:銷售額大于10萬元按5%計算提成,否則按3%計算提成。那么在下個月初,我們要根據(jù)員工的銷售額來決定究竟是按5%計算提成,還是按3%計算提成,這里就會產生兩個分支,而且這兩個分支只有一個會被執(zhí)行。類似的場景還有很多,我們將這種結構稱為分支結構(選擇結構)。常見的分支結構有單分支結構、雙分支結構和多分支結構3種。3.1.1單分支結構7單分支結構是最簡單的分支結構,我們用if語句來表示。其語法格式如下。其功能是:如果if條件表達式的結果為真,則執(zhí)行if之后的語句塊,然后執(zhí)行分支結構以外的語句;如果if條件表達式的結果為假,則不執(zhí)行其后面的語句塊,直接執(zhí)行分支結構以外的語句。if語句的流程圖如圖3-2所示。需要注意的是:①if條件表達式的最后一定不能漏掉符號“:”,否則會出錯;②符號“:”之后的語句塊中的語句必須縮進,否則會出錯。3.1.1單分支結構8實際上,在Python中,當前行與前一行的關系是根據(jù)縮進來判斷的:如果縮進相同,Python就認為它們是一個語句塊;否則是兩個語句塊。在JupyterNotebook中,在遇到分支結構語句時,按Enter鍵系統(tǒng)會自動縮進下一條語句(與按下Tab鍵的效果一樣,即空4個空格)。【例3-1】使用if語句判斷用戶輸入的工齡是否大于等于10年,如果為真,則工資增加500元,否則保持原有工資不變。(代碼位置:資源\第3章)其流程圖如圖3-3所示。3.1.1單分支結構9實際上,在Python中,當前行與前一行的關系是根據(jù)縮進來判斷的:如果縮進相同,Python就認為它們是一個語句塊;否則是兩個語句塊。在JupyterNotebook中,在遇到分支結構語句時,按Enter鍵系統(tǒng)會自動縮進下一條語句(與按下Tab鍵的效果一樣,即空4個空格)。3.1.2雙分支結構10雙分支結構是一種非“1”即“2”的分支結構,我們用if…else語句來表示。其語法格式如下。其功能是:如果if條件表達式的結果為真,則執(zhí)行if條件表達式之后的語句塊1,執(zhí)行后忽略else后面的語句塊2,直接執(zhí)行分支結構以外的語句;如果if條件表達式的結果為假,則忽略if之后的語句塊1,執(zhí)行else后面的語句塊2,然后執(zhí)行分支結構以外的語句。if…else語句的流程圖如圖3-4所示。需要注意的是:else語句不能單獨使用,必須和if語句一起使用。3.1.2雙分支結構11【例3-2】使用if…else語句判斷用戶輸入的工齡是否大于等于10年,如果為真,則工資增加500元,否則工資增加200元。(代碼位置:資源\第3章)其流程圖如圖3-5所示。3.1.2雙分支結構123.1.3多分支結構13多分支結構用if…elif…else語句來表示。其語法格式如下。3.1.3多分支結構14其功能是:如果if條件表達式1的結果為真,則執(zhí)行語句塊1,執(zhí)行后忽略后面的elif和else語句,直接執(zhí)行分支結構以外的語句;如果elif條件表達式2的結果為真,則執(zhí)行語句塊2,執(zhí)行后直接執(zhí)行分支結構以外的語句……如果前n-1個條件表達式都不為真,則執(zhí)行語句塊n,執(zhí)行完后直接執(zhí)行分支結構以外的語句。其流程圖如圖3-6所示。3.1.3多分支結構15【例3-3】使用if…elif…else語句計算銷售人員每月提成金額,提成規(guī)則如表3-1所示。(代碼位置:資源\第3章)3.1.3多分支結構16其流程圖如圖3-7所示。3.1.3多分支結構173.1.4嵌套if語句18嵌套if語句適用于多分支的情況,雖然if…elif…else語句也適用于多分支,但是它們是有區(qū)別的。if…elif…else語句的應用場景是:同時判斷多個條件,所有的條件都是平級的。嵌套if語句的應用場景是:在使用if語句進行條件判斷時,如果希望在條件成立或不成立的執(zhí)行語句中增加額外的條件判斷(該條件從層級上來講比前面的條件低一級)。嵌套if語句的語法格式除了縮進之外,其余和多分支結構沒有區(qū)別,嵌套在里層的if語句的語句塊需要再次縮進4個空格,在JupyterNotebook中編寫嵌套if語句時,系統(tǒng)會按層級的不同自動分層縮進。嵌套if語句通常使用兩個層級嵌套,不提倡多級嵌套if語句,因為效率較低。3.1.4嵌套if語句19【例3-4】某商場在促銷日舉行打折活動,如果購買的是啤酒就打5折,其他商品打8折。非促銷日商品不打折。使用嵌套if語句判斷用戶輸入是否為促銷日,商品是否打折及打折的幅度,并輸出實付金額、應付金額及優(yōu)惠。(代碼位置:資源\第3章)其流程圖如圖3-8所示。3.1.4嵌套if語句203.1.4嵌套if語句213.1.5課堂實驗——根據(jù)公司固定資產類型計算月折舊額22【實驗內容】從鍵盤輸入公司固定資產類型和價格,采用直線法計提折舊,計算其月折舊額。固定資產折舊規(guī)定如表3-2所示。(代碼位置:資源\第3章)【實驗思路】①固定資產有4種類型,可以采用多分支結構(if…elif…else語句)進行判斷;循環(huán)結構02.24在3.1節(jié)中介紹了順序結構和分支結構,本節(jié)將介紹3種結構中的最后一種結構:循環(huán)結構。在財務工作中,我們經常需要重復做某些工作。例如,每個月都要計算員工工資,每個月末都要結賬等。為了高效地完成重復性工作,Python提供了解決這種問題的方法——循環(huán)結構,它通過將一段代碼重復執(zhí)行就可以輕松地完成重復性的工作。Python中的循環(huán)結構有兩種,一種是while循環(huán),另一種是for-in循環(huán)。3.2.1while循環(huán)25while循環(huán)是一種只要條件表達式為真,就重復執(zhí)行一組語句(循環(huán)體語句塊)的循環(huán)結構。其語法格式如下。其功能是:如果條件表達式的結果為真,就一直執(zhí)行循環(huán)體語句塊;如果條件表達式的結果為假,就退出循環(huán)體,執(zhí)行循環(huán)結構以外的語句。while循環(huán)的流程圖如圖3-9所示。3.2.1while循環(huán)26根據(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)結構。通常采用計數(shù)器變量來控制循環(huán)的次數(shù),需要設置循環(huán)變量的初始值、終止值及每次循環(huán)的增量(或減量),循環(huán)結束的條件是計數(shù)器變量超出給定的終止值?!纠?-5】2023年5月31日,公司對存貨進行了盤點,盤點結果如表3-3所示。請根據(jù)盤點結果做出相應的賬務處理。(代碼位置:資源\第3章)3.2.1while循環(huán)27賬務處理規(guī)則如下。如果實存數(shù)量和賬存數(shù)量一致,則輸出“無須進行賬目處理!”;如果實存數(shù)量小于賬存數(shù)量,則計算盤虧金額[盤虧金額=(賬存數(shù)量-實存數(shù)量)×單價],并保留兩位小數(shù)格式化輸出“發(fā)生盤虧:**元”;如果實存數(shù)量大于賬存數(shù)量,則計算盤盈金額[盤盈金額=(實存數(shù)量-賬存數(shù)量)×單價],并保留兩位小數(shù)格式化輸出“發(fā)生盤盈:**元”。其流程圖如圖3-10所示。3.2.1while循環(huán)283.2.1while循環(huán)292.條件型while循環(huán)條件型while循環(huán)是指循環(huán)次數(shù)不確定的循環(huán)結構。需要注意的是,在循環(huán)體內要有能改變循環(huán)條件的語句(讓循環(huán)條件不成立),以使循環(huán)能夠結束;否則,循環(huán)將無休止地執(zhí)行,形成“死循環(huán)”?!纠?-6】使用循環(huán)結構從鍵盤輸入成本類二級科目(生產成本、制造費用、勞務成本費、研發(fā)支出、工程施工、工程結算),形成成本類二級科目列表,輸入“退出”結束輸入。(代碼位置:資源\第3章)其流程圖如圖3-11所示。3.2.1while循環(huán)303.2.2for-in循環(huán)31其功能是:遍歷序列中的所有元素并賦值給變量(從序列的第一個元素開始,依次取到最后一個元素),遍歷結束就退出循環(huán),然后執(zhí)行循環(huán)結構以外的語句。需要注意的是,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)結構,其循環(huán)次數(shù)取決于in后面的序列(如字符串、列表、元組、字典等)中元素的個數(shù)。其語法格式如下。3.2.2for-in循環(huán)32【例3-7】遍歷成本類二級科目列表(生產成本、制造費用、勞務成本費、研發(fā)支出、工程施工、工程結算),形成并輸出成本類二級科目字符串。(代碼位置:資源\第3章)其流程圖如圖3-13所示。3.2.2for-in循環(huán)33【例3-7】遍歷成本類二級科目列表(生產成本、制造費用、勞務成本費、研發(fā)支出、工程施工、工程結算),形成并輸出成本類二級科目字符串。(代碼位置:資源\第3章)其流程圖如圖3-13所示。3.2.3break語句34在循環(huán)體語句中,當所需條件滿足時,為了提高效率(既然已滿足所需條件,再繼續(xù)循環(huán)下去就沒有意義了),可以使用break語句提前退出循環(huán),然后執(zhí)行循環(huán)結構后面的語句。其流程圖如圖3-14所示。3.2.3break語句35【例3-8】某公司成本類二級科目費用如表3-4所示,找出并輸出勞務成本費。(代碼位置:資源\第3章)3.2.3break語句36其流程圖如圖3-15所示。3.2.3break語句373.2.4continue語句38在循環(huán)體語句塊中,當滿足所需條件時,使用continue語句可立即結束本輪循環(huán)(即不執(zhí)行continue語句之后的語句),跳轉到循環(huán)結構開始處,開始新一輪循環(huán)。其流程圖如圖3-16所示。3.2.4continue語句39【例3-9】某公司上半年開票數(shù)如表3-5所示,找出并輸出開票數(shù)大于10的所有月份及開票數(shù)。(代碼位置:資源\第3章)其流程圖如圖3-17所示。3.2.4continue語句403.2.5循環(huán)嵌套41與分支結構嵌套一樣,循環(huán)結構也可以嵌套。既可以在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)稱為內循環(huán)。其語法格式如下。3.2.5循環(huán)嵌套42【例3-10】某公司各部門下一年的年度管理費用預算如表3-6所示,各季度管理費用分配比例如表3-7所示。計算并輸出各部門下一年各季度的管理費用預算。(代碼位置:資源\第3章)3.2.5循環(huán)嵌套43其流程圖如圖3-18所示。3.2.5循環(huán)嵌套44其流程圖如圖3-18所示。3.2.6課堂實驗——篩選符合條件的全部工資數(shù)據(jù)45【實驗內容】某公司員工小張1~6月的工資如表3-8所示,篩選出工資大于8000元的所有月份及工資。(代碼位置:資源\第3章)【實驗思路】①建立月份工資字典;②使用for-in循環(huán)和continue語句完成篩選。函數(shù)03.函數(shù)就是程序中可重復使用的、能實現(xiàn)某些功能的代碼段。當這樣的代碼段被定義為函數(shù)后,在需要使用這段代碼段的地方,僅用一條調用該函數(shù)的語句即可。這樣可以使程序看起來很簡潔(減少重復性),并降低復制、粘貼錯誤的概率。Python中的函數(shù)有兩種,一種是內置函數(shù),另一種是自定義函數(shù)。3.3.1內置函數(shù)47為了提高效率、方便用戶使用,Python為一些常用的功能編寫了代碼,并定義為相應的函數(shù),這樣的函數(shù)稱為內置函數(shù)。在需要使用內置函數(shù)完成某些功能的時候,直接調用內置函數(shù)即可。Python提供的內置函數(shù),除了前面介紹的input()、print()、format()等函數(shù)外,還包括另外幾十個常用的內置函數(shù)。限于篇幅,下面僅介紹一些常見內置函數(shù)的用法。1.max()和min()函數(shù)max()函數(shù)用于返回可迭代對象的元素中的最大值或者所有參數(shù)的最大值,min()函數(shù)用于返回可迭代對象的元素中的最小值或者所有參數(shù)的最小值。可迭代對象可以簡單地理解為可以使用for循環(huán)的對象。元組、列表、字典、字符串等都是可迭代對象。3.3.1內置函數(shù)48【例3-11】max()函數(shù)的常見用法(由于min()函數(shù)的常見用法與max()函數(shù)類似,這里不再詳細介紹)。(代碼位置:資源\第3章)3.3.1內置函數(shù)492.round()函數(shù)round()函數(shù)用于返回對浮點數(shù)進行四舍五入后的值。【例3-12】某小微企業(yè)全年應納稅所得額為955327元,按2.5%的稅率繳納企業(yè)所得稅,計算企業(yè)所得稅(四舍五入、保留兩位小數(shù))。(代碼位置:資源\第3章)3.3.1內置函數(shù)503.pow()函數(shù)pow()函數(shù)用于返回某個值的冪運算值?!纠?-13】某企業(yè)銀行貸款的年利率為5.85%,計算期數(shù)為5的復利終值系數(shù)(四舍五入、保留4位小數(shù))。(代碼位置:資源\第3章)3.3.1內置函數(shù)514.sum()函數(shù)sum()函數(shù)用于返回可迭代對象中各元素之和?!纠?-14】sum()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內置函數(shù)525.tuple()函數(shù)tuple()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個新的元組。【例3-15】tuple()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內置函數(shù)536.list()函數(shù)list()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個新的列表?!纠?-16】list()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內置函數(shù)547.dict()函數(shù)dict()函數(shù)用于根據(jù)傳入的參數(shù)創(chuàng)建一個新的字典。【例3-17】dict()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.1內置函數(shù)558.zip()函數(shù)zip()函數(shù)用于將可迭代對象作為參數(shù),將可迭代對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象。zip()函數(shù)對象不能直接輸出,可使用list()、tuple()、dict()函數(shù)來轉換輸出,如果各個可迭代對象的元素個數(shù)不一致,則返回的列表長度以最短的可迭代對象的元素個數(shù)為準?!纠?-18】zip()函數(shù)的常見用法。(代碼位置:資源\第3章)3.3.2自定義函數(shù)56雖然使用Python提供的內置函數(shù)可以實現(xiàn)很多常見功能,但是在實際工作中,仍然有許多重復性的功能無法通過內置函數(shù)來完成,這時就需要通過自定義函數(shù)來完成這些功能,實現(xiàn)一次編寫、多次調用的目的。1.自定義函數(shù)的格式自定義函數(shù)的格式如下。3.3.2自定義函數(shù)57自定義函數(shù)要遵守以下規(guī)則。①函數(shù)以def關鍵詞開頭,后接函數(shù)名和一對圓括號()。②圓括號中可以沒有參數(shù)(絕大部分情況下有參數(shù)),如果有多個參數(shù),則多個參數(shù)之間用逗號分隔。③函數(shù)體要縮進。④函數(shù)是否有返回值根據(jù)函數(shù)要實現(xiàn)的功能而定(絕大部分情況下有返回值)。有返回值就要有return語句,沒有返回值則不用有return語句。⑤函數(shù)體的開頭通常用于存放函數(shù)說明,包括函數(shù)的功能說明、參數(shù)說明、返回值說明等。3.3.2自定義函數(shù)582.參數(shù)傳遞在數(shù)學中,當使用三角函數(shù)sin(x)來計算30°的正弦值的時候,需要使用30°這個實際數(shù)值來代替x。同樣的道理,當函數(shù)定義好以后,在程序中調用函數(shù)時,也需要用實際數(shù)值來代替定義函數(shù)時使用的參數(shù),這個過程就稱為參數(shù)傳遞。函數(shù)的參數(shù)分為兩種:定義函數(shù)時使用的參數(shù)稱為形式參數(shù);調用函數(shù)時使用的實際數(shù)值(或變量)稱為實際參數(shù)。3.3.2自定義函數(shù)59【例3-19】通過計算所有者權益理解參數(shù)傳遞。(代碼位置:資源\第3章)3.3.2自定義函數(shù)60在調用函數(shù)時,將實際參數(shù)傳遞給形式參數(shù)有多種方式,下面分別介紹。(1)使用位置參數(shù)傳遞位置參數(shù)是指在調用自定義函數(shù)時,必須按照順序將實際參數(shù)傳遞給形式參數(shù),即傳入實際參數(shù)的位置和數(shù)量必須和定義函數(shù)時完全一致。例3-19屬于位置參數(shù)。(2)使用默認參數(shù)值傳遞定義參數(shù)時,可以為參數(shù)指定默認值。在傳遞參數(shù)的時候,如果參數(shù)值沒有傳入,則會用默認值代替;如果傳入?yún)?shù),則默認值不起作用。需要注意的是,有默認值的參數(shù)應放在最后,否則會出錯。3.3.2自定義函數(shù)61【例3-20】通過計算銀行存款理解默認參數(shù)值。(代碼位置:資源\第3章)3.3.2自定義函數(shù)62(3)使用關鍵字參數(shù)傳遞關鍵字參數(shù)是指在調用函數(shù)時,采用“參數(shù)名=值”的形式傳遞參數(shù),無須按照指定順序傳遞參數(shù)。這種方式更加靈活,既可以避免由于參數(shù)順序不對造成的錯誤,又可以讓函數(shù)的調用者更加明確每個參數(shù)所傳遞的具體值?!纠?-21】通過計算銀行存款理解關鍵字參數(shù)。(代碼位置:資源\第3章)3.3.2自定義函數(shù)63(4)使用可變位置參數(shù)傳遞在定義函數(shù)的時候,有時候并不知道調用時傳入?yún)?shù)的數(shù)量,這時候就需要用到可變位置參數(shù)。使用可變位置參數(shù)時,參數(shù)前面應添加“*”。【例3-22】定義一個通用的計算銀行存款的函數(shù),無論銀行有多少家,都能正確計算。(代碼位置:資源\第3章)3.3.2自定義函數(shù)643.3.2自定義函數(shù)65(5)使用可變關鍵字參數(shù)傳遞在定義函數(shù)的時候,如果需要提供任意數(shù)量的關鍵字(鍵值對)類型參數(shù),就需要用到可變關鍵字參數(shù)。使用可變關鍵字參數(shù)時,參數(shù)前面應添加“**”。【例3-23】定義一個通用的顯示各銀行存款金額并計算各銀行存款總額的函數(shù),無論存款銀行有多少家,都能正確顯示和計算。(代碼位置:資源\第3章)3.3.2自定義函數(shù)663.3.2自定義函數(shù)673.函數(shù)返回值前面介紹的函數(shù)返回值都是單個值,當函數(shù)需要返回多個值的時候,return語句中就不能使用單個變量,而是使用列表、字典等變量。需要注意的是,當函數(shù)體中沒有return語句時,函數(shù)返回特殊的值None,該值代表“無”。【例3-24】某公司根據(jù)工作年限制定了加薪分檔要求的規(guī)則:工齡大于5年加薪1000元,小于等于5年加薪500元。計算加薪后的工資。(代碼位置:資源\第3章)3.3.2自定義函數(shù)683.3.2自定義函數(shù)693.3.2自定義函數(shù)704.變量的作用域變量的作用域就是變量的有效范圍,即變量可以在哪個范圍以內使用。變量的作用域由變量的定義位置決定,在不同位置定義的變量,它的作用域是不一樣的。這里只介紹兩種變量,局部變量和全局變量。(1)局部變量在函數(shù)內部定義的變量,其作用域僅限于函數(shù)內部,這樣的變量稱為局部變量。例如,前文函數(shù)中定義的變量都是局部變量。3.3.2自定義函數(shù)71【例3-25】使用例3-22驗證在函數(shù)外部調用函數(shù)內部定義的局部變量會出錯。(代碼位置:資源\第3章)3.3.2自定義函數(shù)72(2)全局變量在函數(shù)外部定義的變量稱為全局變量。全局變量的作用域是整個程序,它既可以在各個函數(shù)的外部使用,也可以在各個函數(shù)的內部使用。例如,例3-25中的bankAccount就是全局變量。由于全局變量和局部變量相當于分布在不同工作表的單元格中,因此即使它們使用同一個變量名(相當于不同工作表中的同一個地址的單元格),也是不同的變量,兩者互不干擾。由于有這個特性,如果全局變量和局部變量或不同函數(shù)間的局部變量具有同一種含義,它們就可以使用同一個變量名,這樣含義會更明確(不同單詞會造成一定的歧義)。例如,例3-25中的局部變量bankDeposit和全局變量bankAccount可以統(tǒng)一使用全局變量名bankAccount代表銀行存款,例3-24中的局部變量salaryDict和全局變量wagesDict可以統(tǒng)一使用局部變量名salaryDict代表員工工資字典。3.3.3lambda函數(shù)73lambda函數(shù)也稱為匿名函數(shù),通俗地說就是沒有名字的函數(shù)。使用lambda函數(shù)的好處主要是:①不用起名字;②代碼簡潔。其語法格式如下。lambda函數(shù)的輸入值是傳入?yún)?shù)列表的值,其輸出值(返回值)是根據(jù)表達式計算得到的值。lambda函數(shù)主要有以下兩種用法。1.將lambda函數(shù)賦值給一個變量,通過這個變量間接調用該lambda函數(shù)【例3-26】使用lambda函數(shù)做加法運算。(代碼位置:資源\第3章)3.3.3lambda函數(shù)742.將lambda函數(shù)作為參數(shù)傳遞給其他函數(shù)大多數(shù)情況下,lambda函數(shù)只作為參數(shù)傳遞給其他函數(shù)。把lambda函數(shù)作為map()函數(shù)的參數(shù),然后對某個序列做相同的函數(shù)運算是該函數(shù)的典型用法。下面先介紹map()函數(shù)。map()函數(shù)的語法格式如下。map()函數(shù)對可迭代對象中的每個值進行相同的函數(shù)運算,返回一個與傳入可迭代對象大小一樣的map對象(也稱為迭代器)。Python中的列表、元組、字典等都是可迭代對象。需要注意的是:map對象不能直接輸出,需要使用list()、tuple()等函數(shù)才能把它的值輸出。3.3.3lambda函數(shù)75(1)對一個可迭代對象的所有元素執(zhí)行相同的lambda函數(shù)運算【例3-27】現(xiàn)有某公司的基本工資列表,將每個人的基本工資增加200元。(代碼位置:資源\第3章)3.3.3lambda函數(shù)76(2)對兩個可迭代對象索引相同的所有元素執(zhí)行相同的lambda函數(shù)運算【例3-28】現(xiàn)有某公司的基本工資列表和獎勵工資列表,計算總工資(總工資=基本工資+獎勵工資)。(代碼位置:資源\第3章)3.3.4課堂實驗——現(xiàn)金流折現(xiàn)模型(價值評估)77【實驗內容】未來現(xiàn)金流量現(xiàn)值公式如下。PV=Σ[第t年預計未來現(xiàn)金流量NCF/(1+折現(xiàn)率R)t]假設期數(shù)間隔為1年,折現(xiàn)率R為5%,現(xiàn)金流發(fā)生在年末。根據(jù)未來3期(-10000、8000、12000)和6期(-20000、-500、2000、10000、16000、30000)現(xiàn)金流量分別計算現(xiàn)值。(代碼位置:資源\第3章)【實驗思路】①定義pv()函數(shù),使用可變位置參數(shù)傳遞未來多期(不定)現(xiàn)金流量;②調用pv()函數(shù)計算現(xiàn)值。模塊04.一個模塊就是一個Python程序文件。因此,前面章節(jié)中編寫的每個Python程序文件都可以作為模塊。3.4.1標準模塊79標準模塊也稱為內置模塊,它是Python內置標準庫中的模塊,也是Python的官方模塊,可直接導入程序供用戶使用。1.導入模塊模塊就像是工具包,要想使用模塊中的工具,如函數(shù),就需要導入這個模塊。Python提供了兩種導入模塊的方式:import導入和from…import…導入。(1)import導入使用import導入模塊的語法格式如下。①使用import可以一次性導入多個模塊,各模塊用英文逗號分隔。②[as別名]是給模塊起別名,別名一般是縮寫的,其目的是減少輸入,導入模塊以后就可以用別名代替模塊名。雖然[as別名]這部分是用“[]”括起來的,表示可以使用,也可以省略,但是在實際工作中,這部分都是使用的。3.4.1標準模塊80使用這種語法格式的語句會導入指定模塊中的所有成員(包括變量、函數(shù)、類等)。當需要使用模塊中的成員時,需用該模塊名(或別名)作為前綴,否則會報錯。①在無別名的情況下使用模塊名.成員。②在有別名的情況下使用別名.成員。(2)from…import…導入使用from…import…導入模塊的語法格式如下。使用這種語法格式的語句只會導入模塊中指定的成員,而不是全部成員。同時,當在程序中使用該成員時,無須附加任何前綴,直接使用該成員的成員名(或別名)即可。3.4.1標準模塊812.標準模塊的使用Python提供了豐富的標準模塊供用戶使用。下面介紹幾個常用標準模塊的使用方法。(1)datetime模塊datetime模塊是Python中專門用于處理日期和時間的模塊,其常用函數(shù)如表3-9所示。3.4.1標準模塊82【例3-29】datetime模塊中常用函數(shù)的用法。(代碼位置:資源\第3章)3.4.1標準模塊83(2)random模塊random模塊是Python中用于生成隨機數(shù)的模塊,其常用函數(shù)如表3-10所示?!纠?-30】random模塊中常用函數(shù)的用法。(代碼位置:資源\第3章)3.4.2第三方模塊84雖然Python的標準模塊提供了文本處理、系統(tǒng)管理、網(wǎng)絡處理等基礎功能,但是在實際工作中,這些功能遠遠不能滿足需求。針對這種情況,許多廠商開發(fā)了眾多功能豐富、滿足實際需求的模塊,這些可免費共享使用的模塊稱為第三方模塊。正是第三方模塊節(jié)省了大量重復編寫代碼的時間,才使得Python現(xiàn)今這么流行。3.4.2第三方模塊85在財務工作中,常用的第三方模塊如圖3-19所示。3.4.2第三方模塊861.NumPy模塊NumPy模塊主要用于多維數(shù)組和矩陣運算,它是Python進行高性能科學計算和數(shù)據(jù)分析的基礎模塊。它最重要的一個特點是其N維數(shù)組對象,該對象是一個快速且靈活的大數(shù)據(jù)集容器。利用這種數(shù)組對整塊數(shù)據(jù)執(zhí)行數(shù)學運算,比使用Python自帶的數(shù)組以及列表執(zhí)行數(shù)學運算效率高得多(無須進行循環(huán)操作)。在使用Python進行數(shù)據(jù)分析的過程中,大部分時候是不會直接使用NumPy模塊的,而是其他模塊要用到NumPy模塊,例如,pandas模塊是基于NumPy模塊的,也就是沒有NumPy模塊,pandas模塊就不能工作??梢哉f,NumPy模塊是整個Python數(shù)據(jù)分析工作的基石。2.pandas模塊pandas模塊是當前最常用的數(shù)據(jù)處理與分析工具。它支持從CSV、JSON、SQL、Excel等各種文件中導入數(shù)據(jù),而且可以對各種數(shù)據(jù)進行運算操作,比如歸并、過濾、選擇,以及數(shù)據(jù)清洗和數(shù)據(jù)處理等。此外,pandas模塊還集成了Matplotlib模塊,它可以方便地進行數(shù)據(jù)可視化,將數(shù)據(jù)以圖表的方式呈現(xiàn)出來。pandas模塊是本書的重點內容,在第4章中會詳細介紹。3.4.2第三方模塊873.Matplotlib模塊Matp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 探索集中儲能項目的可行性與未來潛力
- 人教部編版(2024)八年級上冊生于憂患,死于安樂教案配套
- 滑雪服行業(yè)發(fā)展動態(tài)與市場潛力分析
- 低空經濟推動未來城市空中出行新模式
- 成品油行業(yè)趨勢及市場前景報告分析
- 提升工作效率的年度目標設定計劃
- 廣東省揭陽市第一中學高一信息技術 4.2.2表格數(shù)據(jù)的圖形化教學設計
- 教師隊伍建設與調整規(guī)劃計劃
- 班級親子教育活動的設計計劃
- 核心庫存管理與優(yōu)化實踐計劃
- 廣東省深圳市羅湖區(qū)2022-2023學年六年級下學期期中數(shù)學試卷
- 150型鉆機使用說明書3
- 未來趨勢與職業(yè)前景智慧樹知到期末考試答案章節(jié)答案2024年聯(lián)盟推+薦
- 2024年福建省泉州市中考二模物理試題
- 水生產企業(yè)(自來水公司)安全生產風險分級管控和隱患排查治理雙體系方案全套資料(2021-2022版)
- (正式版)JBT 14449-2024 起重機械焊接工藝評定
- 2020混凝土結構加固修復用聚合物水泥砂漿施工及驗收規(guī)程
- 化妝培訓課件版
- 營地指導員基礎教程
- 初級電工證考試試題庫電工證考試題庫
- 潔凈廠房設計方案
評論
0/150
提交評論