1、*args
接收任意數量形參。
舉個栗子,一個函數的功能是做菜,要求輸入菜名和其配料,但是配料非常多且不固定,那麼就可以這樣寫
def cook(food_name,*args):
print("食物名字是:" + food_name)
print("配料有:" + ' '.join(args))
cook(food_name="宮保雞丁","雞丁肉","蔥","黃瓜丁")
"""print
食物名字是:宮保雞丁
配料有:雞丁肉 蔥 黃瓜丁
"""
args是一個空元組,接受參數後爲(“雞丁肉”,“蔥”,“黃瓜丁”)。
2、**args
使用任意數量的關鍵字參數
舉個栗子,一個收集用戶信息的函數,必須傳入的是姓名,其餘的需要根據需要進行傳入,則可以這樣寫
def collect(name,**args):
print("姓名是:" + name)
for k in args.items():
print(k + ":" + args[k])
collect(name="張三",address="北京",tel="12456789")
"""print
姓名是:張三
address:北京
tel:123456789
"""
args是一個空字典,接收參數後爲{“address”:“北京”,“tel”:“123456789”}