1. 程式人生 > >定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號

定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號

因此 num python function rom 定義 code ram key

定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號。在函數內部,參數numbers接收到的是一個tuple,因此,函數代碼完全不變。但是,調用該函數時,可以傳入任意個參數,包括0個參數:

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
>>> calc(1, 2, 3)
14
>>> calc(1, 3, 5, 7)
84


def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum

但是調用的時候,需要先組裝出一個list或tuple:

>>> calc([1, 2, 3])
14
>>> calc((1, 3, 5, 7))
84

定義可變參數和定義一個list或tuple參數相比,僅僅在參數前面加了一個*號