


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Python 函數(shù)的參數(shù)類型詳解Python 中函數(shù)的參數(shù)類別繁多,且經(jīng)常被組合使用,比較難以理解和使用。如果遇到這樣的函數(shù)定義:def fun(a,/,b=4,*c,d,*e) Print(a,b,c,d,e)你會不會一臉懵?花上 10 分鐘左右的時間,也許你就能豁然開朗。一、形參(parameter)與實參(argument)fun定義中,參數(shù)列表的 a,b,*c,d,*e 這些就是形參。在函數(shù)調(diào)用時,提供給函數(shù)的數(shù)值或變量值就是實參。比如對于上述函數(shù), 調(diào)用時代碼為:fun(3,4,5,6,d=7,f=6,g=9),其中括號里的內(nèi)容就是實參。二、位置參數(shù)(positional param
2、eter)和關(guān)鍵字參數(shù)(keyword 稱為位置參數(shù)。比如在C 語言中,定義一個函數(shù): int sum(int a ,int b ,int c)return a+b+c;a、b、c Int d=sum(3,4,5);35 三個整數(shù)即為實參,分別對應(yīng)于三個形參abc3 b;4 對應(yīng)于第二個形參b5 對應(yīng)于第三個實參c。Python 關(guān)鍵字參數(shù)個函數(shù):def Sum(a,b,c):return a+b+cC 3 用關(guān)鍵字匹配方式,比如:Sum(3,c=5,b=4)關(guān)鍵字參數(shù)與位置參數(shù)相比,有一些不同的特性:關(guān)鍵字參數(shù)只能用在位置參數(shù)之后字參數(shù)方式后,其后所有的參數(shù)只能使用關(guān)鍵字參數(shù),不能再使用位置
3、參數(shù);關(guān)鍵字參數(shù)的順序可以與形參列表的順序不一致Sum(3,c=5,b=4) b 表(a,b,c)中順序不同。如:def Sum(a,/,b,*,c):return a+b+c其中/和*分別是位置參數(shù)限定符和關(guān)鍵字參數(shù)限定符必須在*在/之前的參數(shù),只能使用位置參數(shù),也稱為僅限位置參數(shù)(positinal-only); 在*之后的參數(shù),只能使用關(guān)鍵字參數(shù);在和*之間的參數(shù)可以使用位置參數(shù), 也可以使用關(guān)鍵字參數(shù)。比如調(diào)用上面的函數(shù)時可以這樣寫:Sum(3,4,c=5)或者:Sum(3,b=4,c=5)如果寫成 Sum(3,4,5)或者 Sum(a=3,b=4,c=5)都是錯誤的。除此之外,還有幾
4、個特殊的參數(shù):默認參數(shù)、可變參數(shù)、命名關(guān)鍵字參數(shù)和可變關(guān)鍵字參數(shù)。(default 和可變位置參數(shù)(var-positional parameter) 默認參數(shù)和可變位置參數(shù)都屬于位置參數(shù),遵循位置參數(shù)的特性。默認參數(shù)就是在定義函數(shù)時,直接給出某個參數(shù)的默認值,在調(diào)用函數(shù)時如果沒提供這個參數(shù)的實參的話,就將默認值帶入函數(shù);提供了相應(yīng)的實參的話, 就用提供的實參值。比如:def Sum(a,b,c=5) return a+b+c在調(diào)用這個函數(shù)的時候,可以這樣:Sum(3,4)Sum(3,4,5)是同樣的效果。也可以這樣: Sum(3,4,6)得到的結(jié)果將是 13。默認參數(shù)必須位于參數(shù)列表中位置參
5、數(shù)的最后,也就是說,在參數(shù)列表中出現(xiàn)了默認參數(shù)后,就不能再定義任何其他的位置參數(shù)??勺兾恢脜?shù)是個數(shù)不確定的位置參數(shù),函數(shù)定義是需在形參前加上*,比如:def Sum(a,b,c=5,*d) print(a,b,c,d) e=a+b+cfor i in d:e+=d return e如用如下代碼調(diào)用次函數(shù): Sum(3,4,5,6,7,8,9),函數(shù)中的 print 方法就會輸出(3,4,5,(6,7,8,9)4 個參數(shù)封裝成元組(6,7,8,9)d。需要注意的是,可變位置參數(shù)同時具有關(guān)鍵字參數(shù)限定符*的作用參數(shù)只能用關(guān)鍵字參數(shù)。四、僅限關(guān)鍵字參數(shù)(keyword-onlyparameter)與可變關(guān)鍵字參數(shù)(var-keywordparameter)普通的關(guān)鍵字參數(shù)也成為 僅限關(guān)鍵字參數(shù),每一個參數(shù)必須對應(yīng)于一個實參。在函數(shù)定義時如果最后一個關(guān)鍵字參數(shù)前加了*,那么這個形參就可以對應(yīng)0 個或不確定個實參,成為可變關(guān)鍵字參數(shù)。比如:def fun(a,b,*,c,*d):print(a,b,c,d)其中*d 就是可變關(guān)鍵字參數(shù),它可以接收多余的關(guān)鍵字參數(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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州國際旅游服務(wù)合同樣本
- 商鋪租賃合同樣本:門面租賃全新范本
- 寒假臨時工雇傭合同書樣本
- 游戲品牌代言合同樣本
- 長租公寓租賃合同全文
- 新媒體廣告推廣合同模板
- 辦公室簡單裝修合同范本
- 個人貸款合同電子版模板
- 企業(yè)間的戰(zhàn)略合作框架合同范本
- 課件人物插圖小學(xué)生
- 現(xiàn)代企業(yè)服務(wù)營銷的創(chuàng)新與實踐
- 【寒假開學(xué)第一課】AI時代做自己的哪吒
- 2025年度光伏電站光伏組件回收處理合同示范文本
- 2025年春季少先隊工作計劃及安排表(附:少先隊每月工作安排表)
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- CWAN 0043-2021攪拌摩擦焊攪拌頭設(shè)計及制造標準
- 教學(xué)課件:《公共關(guān)系學(xué)》(本科)
- 劉聰版在燦爛陽光下鋼琴伴奏譜簡譜版
- 2025年春新人教PEP版英語三年級下冊全冊教學(xué)課件
- 建筑工程項目精益建造實施計劃書
- 體育老師籃球說課
評論
0/150
提交評論