Python函數(shù)中傳遞任意數(shù)量的實(shí)參(77)

函數(shù)就好比是你厭倦了重復(fù)差不多內(nèi)容的功能,這些功能都會(huì)耗費(fèi)很多同樣的代碼。

為了簡潔起見,可以把這些內(nèi)容都封裝為函數(shù)。這樣,只要一行就可以實(shí)現(xiàn)原來很多行代碼的功能。這些函數(shù)還可以根據(jù)傳遞的不同命令內(nèi)容來決定具體函數(shù)的功能。這些命令內(nèi)容叫參數(shù)。

有時(shí)候,你預(yù)先不知道函數(shù)需要接受多少個(gè)實(shí)參,好在Python允許函數(shù)從調(diào)用語句中收集任意數(shù)量的實(shí)參。

python大大的圖

我的圖

這是一個(gè)制作比薩的函數(shù),它需要接受很多配料,但你無法預(yù)先確定顧客要多少種配料。形參名*toppings中的星號讓Python創(chuàng)建一個(gè)名為toppings的空元組,并將收到的所有值都封裝在這個(gè)元組中。

Python能夠處理使用一個(gè)值調(diào)用函數(shù)的情形,也能處理使用三個(gè)值來調(diào)用函數(shù)的情形。它以類似的方式處理不同的調(diào)用,注意,Python將實(shí)參封裝到一個(gè)元組中,即便函數(shù)只收到一個(gè)值也是如此。

第八行直接規(guī)定要取出元組中的第一個(gè)和第二個(gè)元素,但是很明顯在pepperoni這個(gè)元組中只有一個(gè)元素,因此會(huì)報(bào)錯(cuò)說元組索引超出范圍。根本就沒有toppings[1]這個(gè)元素嘛!

但是如果元組中元素確保大于等于2的時(shí)候就不會(huì)有這樣的問題


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容