pcwu's TIL Notes


[Python] 函數之不定個數參數

打星號可以引入不定數量的參數:

可以定義在函數裡,作用是參數個數不定:

def buy(*price):
    print price

buy(1,2,3,4)

#  (1, 2, 3, 4)

def sell(**price):
    print price

# sell(9,8,7,6)  # Error!
# sell("apple"=10, "ball"=15, "cat"=25) # Error!
sell(apple=10, ball=15, cat=25)

#  {'ball': 15, 'apple': 10, 'cat': 25}

也可以使用函數時使用,將 tupledict 對應到函數定義的參數:

def test(arg1, arg2, arg3):
    print arg1
    print arg2
    print arg3

data = {"arg3": 3, "arg2": "two"}
test_var_args_call(1, **data)

test_var_args_call(*(4, 5, 6))

Reference