Python函數(shù)中*args和**kwargs來(lái)傳遞變長(zhǎng)參數(shù)的用法
單星號(hào)形式(*args)用來(lái)傳遞非命名鍵可變參數(shù)列表。雙星號(hào)形式(**kwargs)用來(lái)傳遞鍵值可變參數(shù)列表。
下面的例子,傳遞了一個(gè)固定位置參數(shù)和兩個(gè)變長(zhǎng)參數(shù)。
def test_var_args(farg, *args): print "formal arg:", farg for arg in args: print "another arg:", arg test_var_args(1, "two", 3)
結(jié)果如下:
formal arg: 1 another arg: two another arg: 3
這個(gè)例子用來(lái)展示鍵值對(duì)形式的可變參數(shù)列表,一個(gè)固定參數(shù)和兩個(gè)鍵值參數(shù)。
def test_var_kwargs(farg, **kwargs): print "formal arg:", farg for key in kwargs: print "another keyword arg: %s: %s" % (key, kwargs[key]) test_var_kwargs(farg=1, myarg2="two", myarg3=3)
執(zhí)行結(jié)果:
formal arg: 1 another keyword arg: myarg2: two another keyword arg: myarg3: 3
調(diào)用函數(shù)時(shí),使用 *args and **kwargs
這種語(yǔ)法不僅僅是在函數(shù)定義的時(shí)候可以使用,調(diào)用函數(shù)的時(shí)候也可以使用
def test_var_args_call(arg1, arg2, arg3): print "arg1:", arg1 print "arg2:", arg2 print "arg3:", arg3 args = ("two", 3) test_var_args_call(1, *args)
執(zhí)行結(jié)果如下:
arg1: 1 arg2: two arg3: 3
鍵值對(duì)方式:
def test_var_args_call(arg1, arg2, arg3): print "arg1:", arg1 print "arg2:", arg2 print "arg3:", arg3 kwargs = {"arg3": 3, "arg2": "two"} test_var_args_call(1, **kwargs)
結(jié)果如下:
arg1: 1 arg2: two arg3: 3
相關(guān)文章
python文本處理的方案(結(jié)巴分詞并去除符號(hào))
這篇文章主要介紹了python文本處理的方案(結(jié)巴分詞并去除符號(hào)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05詳解pandas映射與數(shù)據(jù)轉(zhuǎn)換
這篇文章主要介紹了pandas映射與數(shù)據(jù)轉(zhuǎn)換的相關(guān)資料,幫助大家更好的利用python進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下2021-01-01Python 完美解決 Import “模塊“ could not&n
這篇文章主要介紹了Python 完美解決 Import “模塊“ could not be resolved ...,本文給大家分享問(wèn)題原因及解決方法,需要的朋友可以參考下2022-11-11selenium.webdriver中add_argument方法常用參數(shù)表
這篇文章主要介紹了selenium.webdriver中add_argument方法常用參數(shù)表,需要的朋友可以參考下2021-04-04Python實(shí)現(xiàn)softmax反向傳播的示例代碼
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)softmax反向傳播的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的可以了解一下2023-04-04Python使用Matplotlib實(shí)現(xiàn)Logos設(shè)計(jì)代碼
這篇文章主要介紹了Python使用Matplotlib實(shí)現(xiàn)Logos設(shè)計(jì)代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12Python?SQLAlchemy與數(shù)據(jù)庫(kù)交互操作完整指南
SQLAlchemy 是一個(gè)強(qiáng)大的 Python 庫(kù),用于數(shù)據(jù)庫(kù)操作,無(wú)論是簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)還是復(fù)雜的數(shù)據(jù)管理,SQLAlchemy 都提供了多種方法來(lái)處理數(shù)據(jù)庫(kù),本文將全面介紹 SQLAlchemy的基本用法以及各種操作的示例代碼2024-01-01