python中函數(shù)的參數(shù)可以分為位置參數(shù),關(guān)鍵字參數(shù)和默認(rèn)參數(shù)。下面我們一一來(lái)講解。
位置參數(shù),有時(shí)也稱必備參數(shù),指的是必須按照正確的順序?qū)?shí)際參數(shù)傳到函數(shù)中,換句話說(shuō),調(diào)用函數(shù)時(shí)傳入實(shí)際參數(shù)的數(shù)量和位置都必須和定義函數(shù)時(shí)保持一致。
實(shí)參和形參數(shù)量必須一致
在調(diào)用函數(shù),指定的實(shí)際參數(shù)的數(shù)量,必須和形式參數(shù)的數(shù)量一致(傳多傳少都不行),否則Python解釋器會(huì)拋出TypeError異常,并提示缺少必要的位置參數(shù)。
例如
例如,設(shè)計(jì)一個(gè)求梯形面積的函數(shù),并利用此函數(shù)求上底為4cm,下底為3cm,高為5cm的梯形的面積。但如果交互高和下低參數(shù)的傳入位置,計(jì)算結(jié)果將導(dǎo)致錯(cuò)誤:
defarea(upper_base,lower_bottom,height):
return(upper_base+lower_bottom)*height/2
print("正確結(jié)果為:",area(4,3,5))
print("錯(cuò)誤結(jié)果為:",area(4,5,3))
運(yùn)行結(jié)果為:
正確結(jié)果為:17.5
錯(cuò)誤結(jié)果為:13.5
關(guān)鍵字參數(shù)是指使用形式參數(shù)的名字來(lái)確定輸入的參數(shù)值。通過(guò)此方式指定函數(shù)實(shí)參時(shí),不再需要與形參的位置完全一致,只要將參數(shù)名寫正確即可。
#定義一個(gè)函數(shù)
defgirth(width,height):
print("width:",width)
print("height:",height)
return2*(width+height)
#傳統(tǒng)調(diào)用函數(shù)的方式,根據(jù)位置傳入?yún)?shù)
print(girth(3.5,4.8))
#根據(jù)關(guān)鍵字參數(shù)來(lái)傳入?yún)?shù)
print(girth(width=3.5,height=4.8))
#使用關(guān)鍵字參數(shù)時(shí)可交換位置
print(girth(height=4.8,width=3.5))
#部分使用關(guān)鍵字參數(shù),部分使用位置參數(shù)
print(girth(3.5,height=4.8))
默認(rèn)參數(shù)調(diào)用函數(shù)時(shí)沒(méi)有給擁有默認(rèn)值的形參傳遞參數(shù),該參數(shù)可以直接使用定義函數(shù)時(shí)設(shè)置的默認(rèn)值。
定義帶有默認(rèn)值參數(shù)的函數(shù),其語(yǔ)法格式如下:
def函數(shù)名(...,形參名=默認(rèn)值):
代碼塊
例如
#為兩個(gè)參數(shù)指定默認(rèn)值
defsay_hi(name="孫悟空",message="歡迎來(lái)到PHP中文網(wǎng)"):
print(name,",您好")
print("消息是:",message)
以上內(nèi)容為大家介紹了Python培訓(xùn)之函數(shù)的參數(shù)有幾種,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。