《 Python的函數(shù)》優(yōu)質(zhì)課件_第1頁
《 Python的函數(shù)》優(yōu)質(zhì)課件_第2頁
《 Python的函數(shù)》優(yōu)質(zhì)課件_第3頁
《 Python的函數(shù)》優(yōu)質(zhì)課件_第4頁
《 Python的函數(shù)》優(yōu)質(zhì)課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12課Python的函數(shù)新知導(dǎo)入前面我們學(xué)習(xí)了利用Python的結(jié)構(gòu)設(shè)計程序,解決一些實際問題,那么當(dāng)遇到很復(fù)雜的實際問題時,我們也可以利用Python函數(shù)來解決。這節(jié)課我們就一塊來學(xué)習(xí)Python函數(shù)。新知講解用計算機解決問題,常將一個復(fù)雜的大問題分解成一系列簡單的小問題。當(dāng)問題細(xì)化到足夠簡單時,問題解決者就可以為每個小問題編寫程序,并通過函數(shù)進行封裝。當(dāng)各個小問題都解決了,大問題也就迎刃而解。函數(shù)用函數(shù)名來表示,并通過函數(shù)名進行功能調(diào)用。在Python中主要有兩類函數(shù):系統(tǒng)內(nèi)建函數(shù)和用戶自定義函數(shù)。一、函數(shù)的概念內(nèi)建函數(shù)(又稱為內(nèi)置函數(shù))是指Python解釋器內(nèi)置的函數(shù)。Python常用的內(nèi)建函數(shù)如下表所示。函數(shù)格式和功能描述input()input([prompt])。從標(biāo)準(zhǔn)輸入讀取字符串print()print(*objects,sep='',end=\n')??梢砸淮屋敵龆鄠€對象int()int([x])。將數(shù)字或字符串轉(zhuǎn)換為整型float()float([x])。將整數(shù)和字符串轉(zhuǎn)換為浮點數(shù)str()str(object)。返回對象的字符串格式len()len(object)。返回int型整數(shù),表示對象的項目個數(shù)例如,內(nèi)建函數(shù)len()的應(yīng)用:>>>st="Python">>>len(st)6>>>lst=["HUAWEI","OPPO","VIVO"]>>>len(st)3函數(shù)的四種類型根據(jù)函數(shù)的參數(shù)和返回值,函數(shù)可以分為四種類型:無參數(shù),無返回值的函數(shù)無參數(shù),有返回值的函數(shù)有參數(shù),無返回值的函數(shù)有參數(shù),有返回值的函數(shù)無參數(shù),無返回值的函數(shù)defprintMenu():print('--------------------------')print('xx涮涮鍋點菜系統(tǒng)')print('1.羊肉涮涮鍋')print('2.牛肉涮涮鍋')print('3.豬肉涮涮鍋')print('--------------------------')printMenu()#獲取溫度defgetTemperature():#這里是獲取溫度的一些處理過程#為了簡單起見,先模擬返回一個數(shù)據(jù)return24temperature=getTemperature()print('當(dāng)前的溫度為:',temperature)當(dāng)前的溫度為:24無參數(shù),無返回值的函數(shù)有參數(shù),無返回值的函數(shù)deftest(num1,num2):result=num1+num2print('計算結(jié)果為:%d'%result)defcalculateNum(num):result=0i=1whilei<=num:result=result+ii+=1returnresultresult=calculateNum(100)print('1~100的累積和為:',result)像數(shù)據(jù)處理并需要結(jié)果的應(yīng)用,可以使用此類函數(shù)。有參數(shù),無返回值的函數(shù)二、自定義函數(shù)Python提供了許多內(nèi)建函數(shù),如print()等。但用戶也可以根據(jù)需要創(chuàng)建函數(shù),由用戶創(chuàng)建的函數(shù)就叫作自定義函數(shù)。Python使用保留字def定義一個函數(shù),語法格式如下:1.定義函數(shù)def<函數(shù)名>([參數(shù)列表]):<函數(shù)體>[return<返回值>]自定義函數(shù)一般由函數(shù)名、參數(shù)和函數(shù)體組成。1、函數(shù)名可以是任何有效的Python標(biāo)識符;2、參數(shù)(可以有零個、一個或多個)稱為形式參數(shù),簡稱為“形參”。3、當(dāng)需要返回值時,使用return語句,否則函數(shù)可以沒有return語句,這樣的函數(shù)返回None值。簡單的規(guī)則:函數(shù)代碼塊以def關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號()。任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)。函數(shù)內(nèi)容以冒號起始,并且縮進。函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。return[表達式]結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達式的return相當(dāng)于返回None。2.調(diào)用函數(shù)在Python程序中,定義一個函數(shù)后,相當(dāng)于給定了函數(shù)的名稱,指定了參數(shù)和代碼塊結(jié)構(gòu)。當(dāng)通過調(diào)用的方式來執(zhí)行這個函數(shù)時,便是在使用這個函數(shù)。參數(shù)列表中給出要傳入函數(shù)內(nèi)部的數(shù)據(jù),這類參數(shù)稱為實際參數(shù),簡稱為“實參”。函數(shù)的調(diào)用和執(zhí)行,其語法格式如下:<函數(shù)名>([參數(shù)列表])程序調(diào)用一個函數(shù)需要執(zhí)行以下四個步驟:(1)調(diào)用程序在調(diào)用處暫停執(zhí)行;(2)在調(diào)用時將實參復(fù)制給函數(shù)的形參;(3)執(zhí)行函數(shù)體語句;(4)函數(shù)調(diào)用結(jié)束給出返回值,程序回到調(diào)用前的暫停處繼續(xù)執(zhí)行。例如,定義函數(shù)printinfo(),調(diào)用該函數(shù)后輸出姓名和年齡,如圖所示。#定義printinfo函數(shù)defprintinfo(nane,age):print(“Name:“,name)print(“Age:“,age)#調(diào)用printinfo函數(shù)printinfo(“miki",50)printinfo(age=50,name=“miki")函數(shù)的定義與調(diào)用Name:mikiAge:50Name:mikiAge:50>>>運行結(jié)果注意:帶有默認(rèn)值的參數(shù)一定要位于參數(shù)列表的最后面。否則程序會報錯。首先,定義函數(shù)printinfo(),兩個形參由逗號分隔,函數(shù)體是兩個輸出語句,分別輸出姓名和年齡;然后,調(diào)用該函數(shù)printinfo()第一次調(diào)用時按形參位置傳入兩個實參第二次調(diào)用時按形參關(guān)鍵字傳入兩個實參。三、函數(shù)應(yīng)用的程序?qū)嵗巢瞧鯏?shù)列問題。假設(shè)某人買了一對小兔子,這對小兔子從第三個月開始,每個月都會生一對小兔子而所有的小兔子到了第三個月又會每月生一對小兔子。問:第n個月會有多少對兔子?斐波那契數(shù)列又稱黃金分割數(shù)列,因數(shù)學(xué)家斐波那契以“兔子繁殖”為例而引入,故又稱為“兔子數(shù)列”。根據(jù)題意,兔子數(shù)量與時間的關(guān)系如下表所示。1.問題分析時間(單位:月)1234567……兔子數(shù)量與時間的關(guān)系11235813……除第一個和第二個數(shù)據(jù)特殊外,其他數(shù)據(jù)都可通過前兩個數(shù)據(jù)生成fib(1)=1,fib(2)=1fib(3)=fib(1)+fib(2)=2

fib(n)=fib(n-1)+fib(n-2)(n>2)…2.算法設(shè)計

通過以上分析,輸人數(shù)據(jù)為月數(shù)n,初始數(shù)據(jù)為fib(1)=1,fib(2)=1,中間數(shù)據(jù)可通過公式fb(i)=fib(i-1)+fib(i-2)計算得到,輸出數(shù)據(jù)為第n個月的兔子對數(shù)fib(n)值。其算法用流程圖表示,如圖所示。3.編寫程序根據(jù)上述算法,為便于輸出每個月的兔子對數(shù),首先定義函數(shù)fib(),然后輸入月數(shù)n,最后通過for語句循環(huán)調(diào)用函數(shù)fib()并輸出每個月的兔子對數(shù)。#定義fib函數(shù),n為形參deffib(n):a,b=1,1foriinrange(3,n+1):a,b=b,a+breturnb#輸入月數(shù)n=int(input('請輸入第n個月:'))#調(diào)用fib函數(shù),i值為實參foriinrange(1,n+1):print(fib(i),end='')按“F5”鍵,輸入月數(shù),運行結(jié)果如圖所示。4.調(diào)試運行賦值語句“a,b=b,a+b”先進行賦值號右邊算式的計算,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論