如果目標函式的接收引數為多個,則可以通過**args的方式傳參,該方式不會將傳入的引數封裝為乙個字典。
如果目標函式的接收引數只有乙個,則可以通過args的方式傳參,該方式會將所有的引數封裝為乙個字典。
def
func_1
(a,b,c)
:print
('func_1函式輸出結果'
)print
(a,b,c)
deffunc_2
(args)
:print
('func_2函式輸出結果'
)print
(args)
deffunc
(**args)
: func_1(
**args)
print
('------------'
) func_2(args)
if __name__ ==
'__main__'
: func(a=
1, b=
2, c=
3)
執行結果:
[1]對於func_1函式,接收的引數為a,b,c三個引數,在func中傳參直接通過**args的方式,但是若func_1函式接收引數為乙個的話或者引數個數與原始傳參不一致,通過該方式傳參,則會引起傳參異常的bug
[2]對於func_2函式,與[1]中的func_1同理
總結:**args和args的區別在於,前者不會對引數進行封裝,後者會對引數進行封裝。
args剩餘引數用法
args剩餘引數用法 剩餘引數語法允許我們將乙個不定數量的引數表示為乙個陣列。function sum theargs console.log sum 1,2,3 expected output 6 console.log sum 1,2,3,4 expected output 10 functio...
python 動態引數 args
動態引數 顧名思義,動態引數就是傳入的引數的個數是動態的,可以是1個 2個到任意個,還可以是0個。在不需要的時候,你完全可以忽略動態函式,不用給它傳遞任何值。python的動態引數有兩種,分別是 args和 kwargs,這裡面的關鍵是乙個和兩個星號的區別,而不是args和kwargs在名字上的區別...
python基礎 可變引數 args
def add args print args add add 1 add 1,2 add 1,2,3 空元組 1 1 2 1,2,3 def add args sum 0 iflen args 0 for i in args sum i print 累加和是 sum else print 沒有元素...