首先並不是必須寫成*args 和**kwargs。 只有變數前面的 *(星號)才是必須的,不過更建議使用這兩個名字,可以讓別的程式設計師更容易理解。
*args
是用來傳送乙個非鍵值對的可變數量的引數列表給乙個函式。
def
var_args
(f_arg,
*args)
:print
("first arg:"
, f_arg)
for arg in args:
print
("another arg in *ar**:"
, arg)
var_args(
'first'
,'second'
,'third'
,'fourth'
)
程式的輸出結果為
first arg: first
another arg in *ar**: second
another arg in *ar**: third
another arg in *ar**: fourth
我們還可以這樣傳遞引數,結果就跟上面的寫法一模一樣,似乎*的作用跟c語言中的解引用有著共通之處。
arg_list =
['second'
,'third'
,'fourth'
]var_args(
'first'
,*arg_list)
**kwargs
是用來將不定長度的鍵值對,作為引數傳遞給乙個函式。
def
var_kwargs
(**kwargs)
:for key, value in kwargs.items():
print
(" : "
.format
(key, value)
)var_kwargs(name=
"lechrond"
, age=
18)
輸出結果為
name : lechrond
age : 18
Python函式返回不定數量的值
python的函式是可以return多個值的,但其本質上還是返回單個值,只是利用了tuple的自動打包,將多個值打包成單個tuple返回。使用 驗證 def func a return 1,2,3,4 if name main temp func a print type temp 執行結果,確認返...
Struts上傳不定數量 動態 檔案的問題
string dirpath getservlet getservletcontext getrealpath upload hashtable fileh actionform.getmultipartrequesthandler getfileelements 這裡fileh.size 總是等於...
接收數量不定的函式實參
include include using std cout using std endl int sum int count,第乙個為計數引數 if count 0 return 0 處理可變的引數列表 va list arg ptr 宣告乙個va list型別的指標 va start arg p...