【工程類】【python】*args和**args的用法和區別

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”}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章