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其它相關文章!

推薦閱讀: