python函數星號參數詳解

來源:互聯網
上載者:User
函數在定義中,通過在參數前加星號,將傳遞進來的多個參數轉化為一個對象,元組或字典,可以說是將這些參數值收集起來。

參數前加一個星號,表明將所有的值放在同一個元組中,該參數的傳回值是一個元組。

參數前加兩個星號,表明將所有的值放在同一個字典中,該參數的傳回值是一個字典。

>>> def print_param(x, y, z = 3, *pospar, **keypar):    print x,y,z    print pospar    print keypar   >>> print_param(3,4,5,6,7,8,m = 1,n = 2)3 4 5(6, 7, 8){'m': 1, 'n': 2}

分配參數

函數在調用中,通過在參數前加星號,傳遞的參數必須是元組或字典,能夠將其值轉化為相應變數的值,這個過程可以看做參數值的分配。

參數前加一個星號,表明將元組值分配給對應的函數參數值。

參數前加兩個星號,表明將字典中的值賦給鍵,函數的定義中要將鍵作為參數名。

>>> def add(x,y):    print x,y    return x + y   >>> add(*param)1 23   >>> def test(name,age):    print name,age   >>> m = {'name':'xiaoli','age':'12'}>>> test(**m)xiaoli 12>>> m = {'name':'xiaoli','age':12}>>> test(**m)xiaoli 12
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.