Python編程中*args與**kwargs區別作用詳解
相信學Python的小夥伴肯定有這樣的尷尬局面,給一個函數不會用,
原因是:不知道參數列表中的類型是什麼意思,比如初學者都會疑問的:*args和**kwargs到底是怎麼用。
當你知道這個時,我猜你肯定能會用好多函數瞭!
#*args的用法:當傳入的參數個數未知,且不需要知道參數名稱時。
def func_arg(farg, *args): print("formal arg:", farg) for arg in args: print("another arg:", arg) func_arg(1,"youzan",'dba','四塊五的妞') print("-----------------------")
# 輸出結果如下:
#formal arg: 1
# another arg: youzan
# another arg: dba
# another arg: 四塊五的妞
# ———————–
#**kwargs的用法:當傳入的參數個數未知,但需要知道參數的名稱時(立馬想到瞭字典,即鍵值對)
def func_kwargs(farg, **kwargs): print("formal arg:", farg) for key in kwargs: print("keyword arg: %s: %s" % (key, kwargs[key])) func_kwargs(1 ,id=1, name='youzan', city='hangzhou',age ='20',四塊五的妞是 = '來日方長的') print('--------------------')
# 輸出結果如下:
# formal arg: 1
# keyword arg: id: 1
# keyword arg: name: youzan
# keyword arg: city: hangzhou
# keyword arg: age: 20
# keyword arg: 四塊五的妞是: 來日方長的
利用它轉換參數為字典
def kw_dict(**kwargs): return kwargs print(kw_dict(a=1,b=2,c=3))
輸出結果如下:
# ——————–
# {‘a’: 1, ‘b’: 2, ‘c’: 3}
以上就是Python編程中*args與**kwargs區別作用詳解的詳細內容,更多關於Python中*args與**kwargs的資料請關註WalkonNet其它相關文章!