開發與維運

參數解包 | Python從入門到精通:高階篇之六

不定長參數 | Python從入門到精通:高階篇之五

參數解包(拆包)

定義一個函數

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

fn4(1,2,3)

執行結果:

image.png

創建一個元組

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)

執行結果:

image.png

此時可以發現,程序出錯了,我們不能這樣去chu傳遞,這樣只傳遞了一個參數,我們可以做如下的修改:

fn4(t[0],t[1],t[2])

執行結果:

image.png

這樣我們就可以實現了,但是我們會發現,有點繁瑣,如果參數過多,步驟會一直重複,我們希望可以直接把元組的參數賦值給形參。

fn4(*t) 

執行結果:

image.png

傳遞實參時,也可以在序列類型的參數前添加星號,這樣他會自動將序列中的元素依次作為參數傳遞。但是需要注意的是,這裡要求序列中元素的個數必須和形參的個數的一致,否則程序會出錯。

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

t = (10,20,30,40)
fn4(*t)

執行結果:

image.png

創建一個字典
將字典裡的項進行參數傳遞。通過 **來對一個字典進行解包操作

def fn4(a,b,c):
    print('a =',a)
    print('b =',b)
    print('c =',c)

d = {'a':100,'b':200,'c':300}
fn4(**d)

執行結果:

image.png

以上就是我們對於參數的介紹,之後會通過練習來鞏固這部分內容。

配套視頻課程,點擊這裡查看

獲取更多資源請訂閱Python學習站

Leave a Reply

Your email address will not be published. Required fields are marked *