backto python index單星號和雙星號,代表 多引數的傳入或變數的拆解。
最初,星號變數是用在函式的引數傳遞上的,在下面的例項中,單個星號代表這個位置接收任意多個非關鍵字引數,在函式的*b位置上將其轉化成元組,而雙星號代表這個位置接收任意多個關鍵字引數,在**b位置上將其轉化成字典:
*
: 該位置接受任意多個非關鍵字(non-keyword)引數,在函式中將其轉化為元組(1,2,3,4)
**
: 該位置接受任意多個關鍵字(keyword)引數,在函式**位置上轉化為詞典 [key:value, key:value ]
#!/usr/bin/env python
#coding=utf-8
#--------
defone
(a,*b)
:"""a是乙個普通傳入引數,*b是乙個非關鍵字星號引數"""
print
(b)one(1,
2,3,
4,5,
6)#--------
deftwo
(a=1
,**b)
:"""a是乙個普通關鍵字引數,**b是乙個關鍵字雙星號引數"""
print
(b)two(a=
1,b=
2,c=
3,d=
4,e=
5,f=6)
複製**
輸出為:
第乙個輸出為:(2
,3,4
,5,6
)第二個輸出為:
更深入的看,tuple 和 dict 不可混用,順序不能打亂。
>>
>
defadd
(a, b, c):.
..return a + b + c
>>
> add(1,
2,3)
6>>
> add(a=
4, b=
5, c=6)
15>>
> args =(2
,3)>>
> add(1,
*args)
6>>
> kwargs=
>>
> add(a=7,
**kwargs)
24>>
> add(a=7,
*args)
traceback (most recent call last)
: file ""
, line 1,in
typeerror: add(
) got multiple values for keyword argument 'a'
>>
> add(1,
2, a=7)
traceback (most recent call last)
: file ""
, line 1,in
typeerror: add(
) got multiple values for keyword argument 'a'
JavaScript中的函式與arguments
定義乙個函式,求出引數中的最小值 function min a,b,c,d.min 1,2,3,4,5,6,7.function min a,b 呼叫min 1,2 function min a,b var result min 1,2,1,4 console.log result 輸出 1 以上 ...
python引數函式 Python函式引數總結
coding utf 8 整理一下python函式的各種引數型別 位置引數 呼叫函式時,傳入的兩個值按照位置順序依次賦給引數 def power x,n s 1 while n 0 n n 1 s s x return s print power 5,2 預設引數 簡化函式的呼叫 def power...
python 引數 Python函式 引數
python中將函式作為引數,區分將引數直接寫成函式名和函式名 的區別。def fun1 fun print print print fun 執行fun1 fun4 時,fun為函式fun3的返回值x print type fun type fun type fun fun 執行fun1 fun4 ...