[Python] 函數之不定個數參數
打星號可以引入不定數量的參數:
- 一個星號會以 tuple 的方式引入
- 兩個星號會以 dict 的方式引入
可以定義在函數裡,作用是參數個數不定:
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}
也可以使用函數時使用,將 tuple
或 dict
對應到函數定義的參數:
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))