當前位置:成語大全網 - 新華字典 - python 中 方法def total(*numbers, **keywords): 參數列表中1個*和2個*分別代表什麽意識

python 中 方法def total(*numbers, **keywords): 參數列表中1個*和2個*分別代表什麽意識

用在函數定義裏,numbers捕獲了所有的位置參數(非keyword參數),keywords捕獲了所有的keywords參數。

例子:

>>> def f(*args, **kwargs):

. . . print type(args), args

. . . print type(kwargs), kwargs

. . .

>>> f(1,2, a=3)

<type 'tuple'> (1, 2)

<type 'dict'> {'a': 3}

而如果是用在函數調用裏,如

s = total(*numbers, **keywords)

則numbers會依次展開作為total的位置參數,而keywords則會按key=value展開作為total的keyword參數。

例如,上面例子裏的f(1,2, a=3)也可以這樣寫:

f(*[1,2], **{'a', 3})

會輸出同樣的結果