python中,(*)會把接收到的引數形成乙個元組,而(**)則會把接收到的引數存入乙個字典
foo方法可以接收任意長度的引數,並把它們存入乙個元組中
>>
>
deffoo
(*args)
:print
(args)
>>
> foo(
"fruit"
,"animal"
,"human")(
'fruit'
,'animal'
,'human'
)>>
> foo(1,
2,3,
4,5)
(1,2
,3,4
,5)>>
> arr =[1
,2,3
,4,5
]# 如果我們希望將乙個陣列形成元組,需要在傳入引數的前面 加上乙個*
>>
> foo(arr)([
1,2,
3,4,
5]>>
> foo(
*arr)(1
,2,3
,4,5
)
(**)將接收到的引數存入乙個字典
>>
>
deffoo
(**kwargs)
:for key, value in kwargs.items():
print
("%s=%s"
%(key, value)
)>>
> foo(a=
1, b=
2, c=3)
a=1b=2
c=3
python可變的引數列表
一般的計算機語言中引數的個數是不能改變的,但是在python中實參的個數是可以改變的。主要是通過形參中的 arg和 arg來實現的,使用可變引數必須遵守下面規則 1 位置引數必須出現在這 arg引數之前 2 arg必須出現在 arg之前,在 arg這之後和 arg之前出現的引數必須是關鍵字引數 3 ...
python 中 和 的作用
先舉個 使用的例子 data def foo kwargs print kwargs foo a 1,b 2 foo data 這種呼叫data的方法會報錯 可以看出,代表了給函式傳入引數的方式是 a 1形式,即 引數名 引數值,並且不管傳入幾個值,該函式都會轉化為字典處理 再舉乙個 的使用的例子 ...
python 中的變長引數列表
在python中實現變長引數可以通過關鍵字引數以及非關鍵字引數來實現,使用 指定字典為關鍵字引數,指定元組為非關鍵字引數。1.關鍵字引數 定義含有非關鍵字引數的函式 def func name 位置引數或缺省引數,non keyword args def func1 arg1,arg2,arg3 p...