Python函數默認參數如何設置_第1頁
Python函數默認參數如何設置_第2頁
Python函數默認參數如何設置_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第Python函數默認參數如何設置我們知道,在調用函數時如果不指定某個參數,Python解釋器會拋出異常。為了解決這個問題,Python允許為參數設置默認值,即在定義函數時,直接給形式參數指定一個默認值。這樣的話,即便調用函數時沒有給擁有默認值的形參傳遞參數,該參數可以直接使用定義函數時設置的默認值。

Python定義帶有默認值參數的函數,其語法格式如下:

def函數名(...,形參名,形參名=默認值):

代碼塊

注意,在使用此格式定義函數時,指定有默認值的形式參數必須在所有沒默認值參數的最后,否則會產生語法錯誤。

下面程序演示了如何定義和調用有默認參數的函數:

#str1沒有默認參數,str2有默認參數

defdis_str(str1,str2=/python/):

print(str1:,str1)

print(str2:,str2)

dis_str(/shell/)

dis_str(/java/,/golang/)

運行結果為:

str1:/shell/

str2:/python/

str1:/java/

str2:/golang/

上面程序中,dis_str()函數有2個參數,其中第2個設有默認參數。這意味著,在調用dis_str()函數時,我們可以僅傳入1個參數,此時該參數會傳給str1參數,而str2會使用默認的參數,如程序中第6行代碼所示。

當然在調用dis_str()函數時,也可以給所有的參數傳值(如第7行代碼所示),這時即便str2有默認值,它也會優(yōu)先使用傳遞給它的新值。

同時,結合關鍵字參數,以下3種調用dis_str()函數的方式也是可以的:

dis_str(str1=/shell/)

dis_str(/java/,str2=/golang/)

dis_str(str1=/java/,str2=/golang/)

再次強調,當定義一個有默認值參數的函數時,有默認值的參數必須位于所有沒默認值參數的后面。因此,下面例子中定義的函數是不正確的:

#語法錯誤

defdis_str(str1=/python/,str2,str3):

pass

顯然,str1設有默認值,而str2和str3沒有默認值,因此str1必須位于str2和str3之后。

有讀者可能會問,對于自己自定義的函數,可以輕易知道哪個參數有默認值,但如果使用Python提供的內置函數,又或者其它第三方提供的函數,怎么知道哪些參數有默認值呢?

Pyhton中,可以使用函數名.__defaults__查看函數的默認值參數的當前值,其返回值是一個元組。以本節(jié)中的dis_str()函數為例,在其基礎上,執(zhí)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論