python中 *args與 **kwargs的用法

向python函式傳遞參數時,分為兩種

  1. 位置參數
  2. 關鍵詞參數
位置參數就是多個無名參數,照位置排序
比如說有一個foo函式
foo(a,b,c)
則這a,b,c就是給予位置參數
如果不知道要傳遞幾個參數進函式
就可以使用到 *args
*args 本質上是tuple

def foo(*args):
    print args
    for index in args:
        print index

而**kwargs表示關鍵字參數
本質上是一個dict

def foo2(**kwargs):
    print kwargs

如果要同時使用的話
*args必須放在**kwargs前面
利用*args 和 **kwargs 方法可以達到函式的可變參數
增加擴展性以及更便於維護

沒有留言:

張貼留言

About

努力在程式的大海
用力的揮動雙手
找出屬於自己的航線

Blog Archive

Traffic