不定長參數 | Python從入門到精通:高階篇之五
參數解包(拆包)
定義一個函數
def fn4(a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
fn4(1,2,3)
執行結果:
創建一個元組
t = (10,20,30)
此時我們想要把t中的元素傳進函數,應該怎麼做呢?
def fn4(a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
t = (10,20,30)
fn4(t)
執行結果:
此時可以發現,程序出錯了,我們不能這樣去chu傳遞,這樣只傳遞了一個參數,我們可以做如下的修改:
fn4(t[0],t[1],t[2])
執行結果:
這樣我們就可以實現了,但是我們會發現,有點繁瑣,如果參數過多,步驟會一直重複,我們希望可以直接把元組的參數賦值給形參。
fn4(*t)
執行結果:
傳遞實參時,也可以在序列類型的參數前添加星號,這樣他會自動將序列中的元素依次作為參數傳遞。但是需要注意的是,這裡要求序列中元素的個數必須和形參的個數的一致,否則程序會出錯。
def fn4(a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
t = (10,20,30,40)
fn4(*t)
執行結果:
創建一個字典
將字典裡的項進行參數傳遞。通過 **來對一個字典進行解包操作
def fn4(a,b,c):
print('a =',a)
print('b =',b)
print('c =',c)
d = {'a':100,'b':200,'c':300}
fn4(**d)
執行結果:
以上就是我們對於參數的介紹,之後會通過練習來鞏固這部分內容。
配套視頻課程,點擊這裡查看
獲取更多資源請訂閱Python學習站