函數(shù):
函數(shù)就是實(shí)現(xiàn)某一特定功能的代碼塊,在類中棺耍,函數(shù)又叫方法(對(duì)某一個(gè)功能的封裝)
為什么要使用函數(shù)?
飛機(jī)的功能:左移种樱、右移蒙袍、上移、下移
問題:1.一樣的功能對(duì)應(yīng)的代碼嫩挤,需要重復(fù)寫很多次代碼冗余
2.如果功能發(fā)生改變的時(shí)候需要修改很多位置的代碼
怎么解決:使用函數(shù)
函數(shù)作用:
1.讓界面更簡潔(同樣的功能對(duì)應(yīng)的代碼只寫一次)
2.如果功能發(fā)生改變害幅,使用函數(shù)只需要修改一個(gè)地方的代碼
3.讓代碼模塊化
函數(shù)的聲明
格式:
def ?函數(shù)名(參數(shù)列表-形參)
????說明文字:對(duì)函數(shù)功能進(jìn)行說明
???v 函數(shù)體:就是實(shí)現(xiàn)函數(shù)功能的代碼塊
def 是python中聲明函數(shù)的關(guān)鍵字
函數(shù)名:標(biāo)識(shí)符,PEP8岂昭,見名知義(根據(jù)函數(shù)名大概知道函數(shù)的功能)
(): 固定格式以现,不能省略
參數(shù)列表:參數(shù)的作用就是從外面往函數(shù)中傳值。一個(gè)函數(shù)可以沒有參數(shù)也可以有多個(gè)參數(shù),如果有多個(gè)參數(shù)邑遏,參數(shù)間用逗號(hào)隔開
b.對(duì)于初學(xué)者來說佣赖,聲明函數(shù)的步驟:
1.確定函數(shù)的功能(確定函數(shù)是干什么的)
2.確定函數(shù)名(根據(jù)功能確定函數(shù)名)
3.確定參數(shù)(確定是否有參數(shù),確定參數(shù)有幾個(gè)无宿,看實(shí)現(xiàn)這個(gè)功能需不需要從外面?zhèn)髦颠M(jìn)去)
4.確定是否需要返回值(返回值:就是函數(shù)返回給調(diào)用者的數(shù)據(jù)茵汰。python中所有的函數(shù)都有返回值,默認(rèn)是NOne)
5孽鸡,實(shí)現(xiàn)函數(shù)的功能
注意:函數(shù)只有在調(diào)用的時(shí)候才會(huì)執(zhí)行
函數(shù)的調(diào)用
格式:
函數(shù)名(參數(shù)列表)
函數(shù)名:你聲明的需要調(diào)用的函數(shù)(已經(jīng)聲明過得函數(shù)才可以調(diào)用)
參數(shù)列表:實(shí)參
函數(shù)的調(diào)用過程蹂午,就是用實(shí)參給形參賦值,并且執(zhí)行函數(shù)體獲取返回值
注意:
1.一個(gè)函數(shù)聲明后彬碱,可以調(diào)用多次
2.python中所有的函數(shù)調(diào)用表達(dá)式都有值
帶參的函數(shù)
def 函數(shù)名(參數(shù)列表):
說明文字
函數(shù)體
形參:獲取從外面?zhèn)鬟f給函數(shù)內(nèi)部的值
2.函數(shù)的調(diào)用
函數(shù)名(實(shí)參列表)
實(shí)參:調(diào)用函數(shù)的時(shí)候給函數(shù)傳的值
形參:就是變量豆胸,聲明在函數(shù)內(nèi)的變量
函數(shù)調(diào)用的時(shí)候保證每個(gè)形參都有值
帶參函數(shù)的調(diào)用
1.位置參數(shù)(用實(shí)參一次給實(shí)參賦值)
2.關(guān)鍵字參數(shù)
參數(shù)的默認(rèn)值
在python中,函數(shù)的參數(shù)可以設(shè)置默認(rèn)值(函數(shù)聲明的時(shí)候給參數(shù)賦值)
如果參數(shù)設(shè)置了默認(rèn)值巷疼,那么調(diào)用函數(shù)的時(shí)候晚胡,這個(gè)函數(shù)可以傳參,也可以不傳參
-
寫一個(gè)函數(shù)嚼沿,問候某人 打印XXX估盘,how are you !
def say_hi (name='xxx'): print('%s,how are you' %(name) say_hi () say_hi('張三')
//注意:如果聲明函數(shù)的時(shí)候骡尽,函數(shù)中有多個(gè)參數(shù)遣妥,有默認(rèn)值的參數(shù)必須放到?jīng)]有默認(rèn)值的參數(shù)后面
def say_hello(message,name='xxx'):
print('%s,%s'%(name,message)
say_hello(name='小花',message='I love you')
-
參數(shù)個(gè)數(shù)不確定
參數(shù)個(gè)數(shù)不確定的時(shí)候攀细,就在參數(shù)列表中聲明一個(gè)變量箫踩,前面加一個(gè)*,這個(gè)時(shí)候這個(gè)變量就變成了元祖谭贪,函數(shù)調(diào)用的時(shí)候所有的實(shí)參都會(huì)添加到這個(gè)元祖中境钟。
*寫一個(gè)函數(shù),求多個(gè)數(shù)的和def my_sum2(*nums): sum1=0 for item in nums: sum1+=item print(sum1)
my_sum2(10,10,30) #40
my_sum2(1,2,3,4,5,6) #21