




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
函數(shù)課前回顧while循環(huán):通過判斷數(shù)值是否滿足來確定循環(huán);for循環(huán):通過對可迭代對象進行遍歷來實現(xiàn)循環(huán),range()、zip()、列表推導(dǎo)式;嵌套循環(huán):循環(huán)語句中可以嵌套另一個循環(huán),if、while、for可以隨意組合;跳轉(zhuǎn)語句:break退出循環(huán),continue跳轉(zhuǎn)到下次循環(huán),break和continue只能用于循環(huán)之中。函數(shù)函數(shù):是指組織好、可重復(fù)使用的,用來實現(xiàn)單一或相關(guān)聯(lián)功能的代碼段。函數(shù)作用:實現(xiàn)代碼的重復(fù)使用,實現(xiàn)代碼的一致性(一致性是指只要修改函數(shù)的代碼,所有調(diào)用該函數(shù)的地方都能得到體現(xiàn))。Python中的函數(shù)可以分為如下幾類:內(nèi)置函數(shù):由Python提供,可以直接拿來使用的函數(shù),如:input()、print()等等;自定義函數(shù):用戶根據(jù)需求自己定義的函數(shù);匿名函數(shù):沒有顯式定義的函數(shù),一般只有一行表達式,只能使用一次。目錄010203內(nèi)置函數(shù)自定義函數(shù)匿名函數(shù)01內(nèi)置函數(shù)
內(nèi)置函數(shù)Python提供了69個內(nèi)置函數(shù),可通過查詢Python的官方文檔了解內(nèi)置函數(shù)的功能;Python官方網(wǎng)站:/zh-cn/3.7/library/functions.html注意標(biāo)識符命名時不要使用內(nèi)置函數(shù)名,雖然使用內(nèi)置函數(shù)名命名時Python不會報錯,但是會導(dǎo)致同名的內(nèi)置函數(shù)被覆蓋,從而無法使用。02自定義函數(shù)
創(chuàng)造屬于你的函數(shù):自定義函數(shù)如果想實現(xiàn)的功能內(nèi)置函數(shù)無法完成,該如何處理呢?在Python中,用戶可以自己創(chuàng)建函數(shù),這類用戶自己創(chuàng)建的函數(shù)稱為自定義函數(shù)。自定義函數(shù):是指用一些符號代替變量賦值,等到使用這個算法的時候再把具體的變量金額填充進去,將原先適用于一種情況的算法改造成一個通用的算法。自定義函數(shù)語法:def函數(shù)名(形參):#形參根據(jù)需求設(shè)置,可有可無,多個形參用逗號隔開<代碼塊>#注意冒號和語句縮進
return表達式#return函數(shù)返回值關(guān)鍵字,函數(shù)執(zhí)行完畢后給調(diào)用者的結(jié)果稱為函數(shù)的“返回值”,沒有
return時返回結(jié)果為None函數(shù)名(實參)#調(diào)用函數(shù),有參函數(shù)傳遞實參,實參與形參一一對應(yīng)for循環(huán)說明:甲公司采用雙倍余額遞減法對固定資產(chǎn)計提折舊,現(xiàn)有一固定資產(chǎn)原值為100000元,預(yù)計使用年限為10年,凈殘值率5%。要求:采用for循環(huán)計算該固定資產(chǎn)年折舊額。代碼年初固定資產(chǎn)凈值=100000#第一年年初固定資產(chǎn)凈值=固定資產(chǎn)原值result=[]#創(chuàng)建空列表存儲年折舊額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ù)說明:生產(chǎn)設(shè)備A:固定資產(chǎn)原值:1200000元、折舊年限10年、凈殘值5%;
辦公設(shè)備B:固定資產(chǎn)原值:240000元、折舊年限5年、凈殘值5%;要求:自定義函數(shù)計算固定資產(chǎn)年折舊(采用雙倍余額遞減法)。示例1代碼#自定義函數(shù):def折舊計算(原值,折舊年限,凈殘值率):年初固定資產(chǎn)凈值=原值#第一年年初固定資產(chǎn)凈值=固定資產(chǎn)原值result=[]#創(chuàng)建空列表存儲年折舊額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ù)說明:生產(chǎn)設(shè)備A:固定資產(chǎn)原值:1200000元、折舊年限10年、凈殘值5%;
辦公設(shè)備B:固定資產(chǎn)原值:240000元、折舊年限5年、凈殘值5%;要求:自定義函數(shù)計算固定資產(chǎn)年折舊(采用雙倍余額遞減法)。示例1代碼#調(diào)用自定義函數(shù)折舊計算(1200000,10,0.05)折舊計算(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)說明:20×1年12月31日,甲公司經(jīng)批準(zhǔn)發(fā)行5年期一次還本、分期付息的公司債券10,000,000元,債券利息在每年12月31日支付,票面年利率為6%,債券發(fā)行時市場利率為5%,債券實際發(fā)行總價為10,432,700元(即20×1年12月31日的攤余成本),公司采用實際利率法和攤余成本計算利息費用。要求:采用while循環(huán)計算該應(yīng)付債券20×2年至20×6年的年末攤余成本。代碼i=1amortisedCost=10432700#期初攤余成本=發(fā)行總價amortisedCostList=[]#創(chuàng)建空列表存放計算的攤余成本whilei<=4:
amortisedCost=round(amortisedCost+amortisedCost*0.05-10000000*0.06,2)#計算攤余成本
amortisedCostList.append(amortisedCost)#計算結(jié)果添加至列表i+=1else:
amortisedCost=10000000#最后一年年末攤余成本=債券面值
amortisedCostList.append(amortisedCost)print('應(yīng)付債券20×2年至20×6年的年末攤余成本依次為:',amortisedCostList)自定義函數(shù)說明:5年期應(yīng)付債券:面值10,000,000元、實際發(fā)行價格10,432,700元、票面利率6%、市場利率5%;
4年期應(yīng)付債券:面值20,000,000元、實際發(fā)行價格18,645,200元、票面利率5%、市場利率7%;要求:自定義函數(shù)計算兩種債券到期前各年年末攤余成本。示例2代碼#自定義函數(shù):defcalcAmortisedCost(year,faceValue,issuePrice,couponRate,marketRate):i=1amortisedCost=issuePrice#期初攤余成本=發(fā)行總價amortisedCostList=[]#創(chuàng)建空列表存放計算的攤余成本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ù)說明:5年期應(yīng)付債券:面值10,000,000元、實際發(fā)行價格10,432,700元、票面利率6%、市場利率5%;
4年期應(yīng)付債券:面值20,000,000元、實際發(fā)行價格18,645,200元、票面利率5%、市場利率7%;要求:自定義函數(shù)計算各債券年末攤余成本。示例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)編寫某些比較簡單的函數(shù)時,按照def函數(shù)的格式化寫法會使代碼變得復(fù)雜,那么有沒有什么方法能跳過def語句,使代碼更加的簡潔易讀呢?匿名函數(shù):使用lambda關(guān)鍵字創(chuàng)建,是一種簡單的、在同一行中定義函數(shù)的方法,該方法不需使用def、return語句。語法:lambda[參數(shù),參數(shù)]:<表達式>注意匿名函數(shù)可以接收多個參數(shù)但只能返回一個表達式的值代碼#定義匿名函數(shù)并直接傳入?yún)?shù)print((lambdax,y:x*y)(4,5))三元運算符三元運算符:與if...else語句具有相似的作用;語法:條件成立的值if條件else條件不成立的值代碼#使用if...else語句a=2b=4
ifa>b:c=aelse:c=bprint(c)代碼#使用三元運算符a=2b=4
c=aifa>belsebprint(c)代碼lambda表達式與三元運算符連用print((lambdaa,b:aifa>belseb)(4,5))輸出結(jié)果:5if...else語句說明:公司采用經(jīng)濟增加值(EVA)進行績效評價,若本年經(jīng)濟增加值大于150萬元,則本年獎金為本年經(jīng)濟增加值的10%,否則,本年無獎金。要求:本年經(jīng)濟增加值為180萬元,使用條件語句計算本年獎金。代碼#創(chuàng)建一個變量EVA接收本年經(jīng)濟增加值EVA=1800000#if條件判斷開始ifEVA>1500000:bonus=EVA*0.1else:bonus=0#打印計算結(jié)果print(bonus)輸出結(jié)果:180000.0若要求使用匿名函數(shù)計算本年獎金,該如何寫呢?匿名函數(shù)示例3代碼#創(chuàng)建匿名函數(shù)print((lambdaEVA:EVA*0.1ifEVA>1500000else0)(1800000))輸出結(jié)果:180000.0說明:公司采用經(jīng)濟增加值(EVA)進行績效評價,若本年經(jīng)濟增加值大于150萬元,則本年獎金為本年經(jīng)濟增加值的10%,否則,本年無獎金。要求:本年經(jīng)濟增加值為180萬元,創(chuàng)建匿名函數(shù)計算本年獎金。匿名函數(shù)的優(yōu)點匿名函數(shù)的優(yōu)點:可以省去定義函數(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 3917.3-2025紡織品織物撕破性能第3部分:梯形試樣撕破強力的測定
- 教育心理學(xué)知識的遺忘
- 山東省濰坊市諸城一中2025屆高三第一次摸底英語試題含解析
- 浙江長征職業(yè)技術(shù)學(xué)院《數(shù)字化設(shè)計基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津電子信息職業(yè)技術(shù)學(xué)院《西方文化入門》2023-2024學(xué)年第二學(xué)期期末試卷
- 公司機器操作事故
- 信息技術(shù) 第二冊(五年制高職)課件 9.2.1 無人便利店
- 幼兒園小學(xué)急救知識培訓(xùn)常見意外事故緊急處理課件
- 信息技術(shù) 第二冊(五年制高職)課件 7.1.2 信息社會責(zé)任的概念和內(nèi)涵
- 心肺復(fù)蘇操作2025版
- DB6103∕T 62-2024 寶雞特色飲食制作規(guī)程 岐山臊子面
- 西方文論概覽(第二版)-第九章課件
- 國家計量院計量器具檢定收費標(biāo)準(zhǔn)
- 數(shù)據(jù)中心儲能應(yīng)用需求技術(shù)報告2024
- 2024年中考語文復(fù)習(xí)分類必刷:非連續(xù)性文本閱讀(含答案解析)
- 2024年領(lǐng)導(dǎo)干部任前廉政知識測試試卷題庫及答案
- 糖尿病足潰瘍創(chuàng)面治療專家共識
- DL∕ T 949-2005 水工建筑物塑性嵌縫密封材料技術(shù)標(biāo)準(zhǔn)
- 機電金結(jié)設(shè)備安裝自檢報告
- 河南科學(xué)技術(shù)出版社小學(xué)信息技術(shù)六年級上冊教案
- 2024年紅十字應(yīng)急救護知識競賽考試題庫500題(含答案)
評論
0/150
提交評論