財(cái)務(wù)大數(shù)據(jù)-Python基礎(chǔ) 課件 1.8函數(shù)_第1頁(yè)
財(cái)務(wù)大數(shù)據(jù)-Python基礎(chǔ) 課件 1.8函數(shù)_第2頁(yè)
財(cái)務(wù)大數(shù)據(jù)-Python基礎(chǔ) 課件 1.8函數(shù)_第3頁(yè)
財(cái)務(wù)大數(shù)據(jù)-Python基礎(chǔ) 課件 1.8函數(shù)_第4頁(yè)
財(cái)務(wù)大數(shù)據(jù)-Python基礎(chǔ) 課件 1.8函數(shù)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

函數(shù)課前回顧while循環(huán):通過(guò)判斷數(shù)值是否滿足來(lái)確定循環(huán);for循環(huán):通過(guò)對(duì)可迭代對(duì)象進(jìn)行遍歷來(lái)實(shí)現(xiàn)循環(huán),range()、zip()、列表推導(dǎo)式;嵌套循環(huán):循環(huán)語(yǔ)句中可以嵌套另一個(gè)循環(huán),if、while、for可以隨意組合;跳轉(zhuǎn)語(yǔ)句:break退出循環(huán),continue跳轉(zhuǎn)到下次循環(huán),break和continue只能用于循環(huán)之中。函數(shù)函數(shù):是指組織好、可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一或相關(guān)聯(lián)功能的代碼段。函數(shù)作用:實(shí)現(xiàn)代碼的重復(fù)使用,實(shí)現(xiàn)代碼的一致性(一致性是指只要修改函數(shù)的代碼,所有調(diào)用該函數(shù)的地方都能得到體現(xiàn))。Python中的函數(shù)可以分為如下幾類:內(nèi)置函數(shù):由Python提供,可以直接拿來(lái)使用的函數(shù),如:input()、print()等等;自定義函數(shù):用戶根據(jù)需求自己定義的函數(shù);匿名函數(shù):沒(méi)有顯式定義的函數(shù),一般只有一行表達(dá)式,只能使用一次。目錄010203內(nèi)置函數(shù)自定義函數(shù)匿名函數(shù)01內(nèi)置函數(shù)

內(nèi)置函數(shù)Python提供了69個(gè)內(nèi)置函數(shù),可通過(guò)查詢Python的官方文檔了解內(nèi)置函數(shù)的功能;Python官方網(wǎng)站:/zh-cn/3.7/library/functions.html注意標(biāo)識(shí)符命名時(shí)不要使用內(nèi)置函數(shù)名,雖然使用內(nèi)置函數(shù)名命名時(shí)Python不會(huì)報(bào)錯(cuò),但是會(huì)導(dǎo)致同名的內(nèi)置函數(shù)被覆蓋,從而無(wú)法使用。02自定義函數(shù)

創(chuàng)造屬于你的函數(shù):自定義函數(shù)如果想實(shí)現(xiàn)的功能內(nèi)置函數(shù)無(wú)法完成,該如何處理呢?在Python中,用戶可以自己創(chuàng)建函數(shù),這類用戶自己創(chuàng)建的函數(shù)稱為自定義函數(shù)。自定義函數(shù):是指用一些符號(hào)代替變量賦值,等到使用這個(gè)算法的時(shí)候再把具體的變量金額填充進(jìn)去,將原先適用于一種情況的算法改造成一個(gè)通用的算法。自定義函數(shù)語(yǔ)法:def函數(shù)名(形參):#形參根據(jù)需求設(shè)置,可有可無(wú),多個(gè)形參用逗號(hào)隔開(kāi)<代碼塊>#注意冒號(hào)和語(yǔ)句縮進(jìn)

return表達(dá)式#return函數(shù)返回值關(guān)鍵字,函數(shù)執(zhí)行完畢后給調(diào)用者的結(jié)果稱為函數(shù)的“返回值”,沒(méi)有

return時(shí)返回結(jié)果為None函數(shù)名(實(shí)參)#調(diào)用函數(shù),有參函數(shù)傳遞實(shí)參,實(shí)參與形參一一對(duì)應(yīng)for循環(huán)說(shuō)明:甲公司采用雙倍余額遞減法對(duì)固定資產(chǎn)計(jì)提折舊,現(xiàn)有一固定資產(chǎn)原值為100000元,預(yù)計(jì)使用年限為10年,凈殘值率5%。要求:采用for循環(huán)計(jì)算該固定資產(chǎn)年折舊額。代碼年初固定資產(chǎn)凈值=100000#第一年年初固定資產(chǎn)凈值=固定資產(chǎn)原值result=[]#創(chuàng)建空列表存儲(chǔ)年折舊額foriinrange(8):年折舊額=round(年初固定資產(chǎn)凈值*(2/10),2)#年折舊率=2/10result.append(年折舊額)年初固定資產(chǎn)凈值-=年折舊額else:年折舊額=round((年初固定資產(chǎn)凈值-100000*0.05)/2,2)result.append(年折舊額)result.append(round(年初固定資產(chǎn)凈值-100000*0.05-年折舊額,2))print("每年折舊額依次為:",result)自定義函數(shù)說(shuō)明:生產(chǎn)設(shè)備A:固定資產(chǎn)原值:1200000元、折舊年限10年、凈殘值5%;

辦公設(shè)備B:固定資產(chǎn)原值:240000元、折舊年限5年、凈殘值5%;要求:自定義函數(shù)計(jì)算固定資產(chǎn)年折舊(采用雙倍余額遞減法)。示例1代碼#自定義函數(shù):def折舊計(jì)算(原值,折舊年限,凈殘值率):年初固定資產(chǎn)凈值=原值#第一年年初固定資產(chǎn)凈值=固定資產(chǎn)原值result=[]#創(chuàng)建空列表存儲(chǔ)年折舊額foriinrange(折舊年限-2):年折舊額=round(年初固定資產(chǎn)凈值*(2/折舊年限),2)result.append(年折舊額)年初固定資產(chǎn)凈值-=年折舊額else:年折舊額=round((年初固定資產(chǎn)凈值-原值*凈殘值率)/2,2)result.append(年折舊額)result.append(round(年初固定資產(chǎn)凈值-原值*凈殘值率-年折舊額,2))print("每年折舊額依次為:",result)自定義函數(shù)說(shuō)明:生產(chǎn)設(shè)備A:固定資產(chǎn)原值:1200000元、折舊年限10年、凈殘值5%;

辦公設(shè)備B:固定資產(chǎn)原值:240000元、折舊年限5年、凈殘值5%;要求:自定義函數(shù)計(jì)算固定資產(chǎn)年折舊(采用雙倍余額遞減法)。示例1代碼#調(diào)用自定義函數(shù)折舊計(jì)算(1200000,10,0.05)折舊計(jì)算(240000,5,0.05)輸出結(jié)果:每年折舊額依次為:[240000.0,192000.0,153600.0,122880.0,98304.0,78643.2,62914.56,50331.65,70663.29,70663.3]每年折舊額依次為:[96000.0,57600.0,34560.0,19920.0,19920.0]while循環(huán)說(shuō)明:20×1年12月31日,甲公司經(jīng)批準(zhǔn)發(fā)行5年期一次還本、分期付息的公司債券10,000,000元,債券利息在每年12月31日支付,票面年利率為6%,債券發(fā)行時(shí)市場(chǎng)利率為5%,債券實(shí)際發(fā)行總價(jià)為10,432,700元(即20×1年12月31日的攤余成本),公司采用實(shí)際利率法和攤余成本計(jì)算利息費(fèi)用。要求:采用while循環(huán)計(jì)算該應(yīng)付債券20×2年至20×6年的年末攤余成本。代碼i=1amortisedCost=10432700#期初攤余成本=發(fā)行總價(jià)amortisedCostList=[]#創(chuàng)建空列表存放計(jì)算的攤余成本whilei<=4:

amortisedCost=round(amortisedCost+amortisedCost*0.05-10000000*0.06,2)#計(jì)算攤余成本

amortisedCostList.append(amortisedCost)#計(jì)算結(jié)果添加至列表i+=1else:

amortisedCost=10000000#最后一年年末攤余成本=債券面值

amortisedCostList.append(amortisedCost)print('應(yīng)付債券20×2年至20×6年的年末攤余成本依次為:',amortisedCostList)自定義函數(shù)說(shuō)明:5年期應(yīng)付債券:面值10,000,000元、實(shí)際發(fā)行價(jià)格10,432,700元、票面利率6%、市場(chǎng)利率5%;

4年期應(yīng)付債券:面值20,000,000元、實(shí)際發(fā)行價(jià)格18,645,200元、票面利率5%、市場(chǎng)利率7%;要求:自定義函數(shù)計(jì)算兩種債券到期前各年年末攤余成本。示例2代碼#自定義函數(shù):defcalcAmortisedCost(year,faceValue,issuePrice,couponRate,marketRate):i=1amortisedCost=issuePrice#期初攤余成本=發(fā)行總價(jià)amortisedCostList=[]#創(chuàng)建空列表存放計(jì)算的攤余成本whilei<=(year-1):amortisedCost=round(amortisedCost+amortisedCost*marketRate-faceValue*couponRate,2)amortisedCostList.append(amortisedCost)i+=1else:amortisedCost=faceValue#最后一年年末攤余成本=債券面值amortisedCostList.append(amortisedCost)print('應(yīng)付債券期末攤余成本依次為:',amortisedCostList)自定義函數(shù)說(shuō)明:5年期應(yīng)付債券:面值10,000,000元、實(shí)際發(fā)行價(jià)格10,432,700元、票面利率6%、市場(chǎng)利率5%;

4年期應(yīng)付債券:面值20,000,000元、實(shí)際發(fā)行價(jià)格18,645,200元、票面利率5%、市場(chǎng)利率7%;要求:自定義函數(shù)計(jì)算各債券年末攤余成本。示例2代碼#調(diào)用自定義函數(shù)calcAmortisedCost(5,10000000,10432700,0.06,0.05)calcAmortisedCost(4,20000000,18645200,0.05,0.07)輸出結(jié)果:應(yīng)付債券期末攤余成本依次為:[10354335.0,10272051.75,10185654.34,10094937.06,10000000]應(yīng)付債券期末攤余成本依次為:[18950364.0,19276889.48,19626271.74,20000000]03匿名函數(shù)神秘嘉賓:匿名函數(shù)當(dāng)編寫某些比較簡(jiǎn)單的函數(shù)時(shí),按照def函數(shù)的格式化寫法會(huì)使代碼變得復(fù)雜,那么有沒(méi)有什么方法能跳過(guò)def語(yǔ)句,使代碼更加的簡(jiǎn)潔易讀呢?匿名函數(shù):使用lambda關(guān)鍵字創(chuàng)建,是一種簡(jiǎn)單的、在同一行中定義函數(shù)的方法,該方法不需使用def、return語(yǔ)句。語(yǔ)法:lambda[參數(shù),參數(shù)]:<表達(dá)式>注意匿名函數(shù)可以接收多個(gè)參數(shù)但只能返回一個(gè)表達(dá)式的值代碼#定義匿名函數(shù)并直接傳入?yún)?shù)print((lambdax,y:x*y)(4,5))三元運(yùn)算符三元運(yùn)算符:與if...else語(yǔ)句具有相似的作用;語(yǔ)法:條件成立的值if條件else條件不成立的值代碼#使用if...else語(yǔ)句a=2b=4

ifa>b:c=aelse:c=bprint(c)代碼#使用三元運(yùn)算符a=2b=4

c=aifa>belsebprint(c)代碼lambda表達(dá)式與三元運(yùn)算符連用print((lambdaa,b:aifa>belseb)(4,5))輸出結(jié)果:5if...else語(yǔ)句說(shuō)明:公司采用經(jīng)濟(jì)增加值(EVA)進(jìn)行績(jī)效評(píng)價(jià),若本年經(jīng)濟(jì)增加值大于150萬(wàn)元,則本年獎(jiǎng)金為本年經(jīng)濟(jì)增加值的10%,否則,本年無(wú)獎(jiǎng)金。要求:本年經(jīng)濟(jì)增加值為180萬(wàn)元,使用條件語(yǔ)句計(jì)算本年獎(jiǎng)金。代碼#創(chuàng)建一個(gè)變量EVA接收本年經(jīng)濟(jì)增加值EVA=1800000#if條件判斷開(kāi)始ifEVA>1500000:bonus=EVA*0.1else:bonus=0#打印計(jì)算結(jié)果print(bonus)輸出結(jié)果:180000.0若要求使用匿名函數(shù)計(jì)算本年獎(jiǎng)金,該如何寫呢?匿名函數(shù)示例3代碼#創(chuàng)建匿名函數(shù)print((lambdaEVA:EVA*0.1ifEVA>1500000else0)(1800000))輸出結(jié)果:180000.0說(shuō)明:公司采用經(jīng)濟(jì)增加值(EVA)進(jìn)行績(jī)效評(píng)價(jià),若本年經(jīng)濟(jì)增加值大于150萬(wàn)元,則本年獎(jiǎng)金為本年經(jīng)濟(jì)增加值的10%,否則,本年無(wú)獎(jiǎng)金。要求:本年經(jīng)濟(jì)增加值為180萬(wàn)元,創(chuàng)建匿名函數(shù)計(jì)算本年獎(jiǎng)金。匿名函數(shù)的優(yōu)點(diǎn)匿名函數(shù)的優(yōu)點(diǎn):可以省去定義函數(shù)的過(guò)程,使代碼更加

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論