1. 位置引數(必選引數)
2. 預設引數
3. 可變引數( args)
4. 關鍵字引數 (**kw)
5. 命名關鍵字引數 (, named_kw)
可變引數:
def
func
(*args)
:type
(args)
==tuple
func(1,
2,3,
4)mytuple =(1
,2,3
)func(
*mytuple)
允許傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。
若多個引數已經組合成tuple,則可使用 *mytulple 傳給可變引數args
關鍵字引數
def
func
(**kw)
:type
(kw)
==dict
kw['city']==
'shanghai'
kw['code']==
30 kw[
'pc']==
200030
func(city=
'shanghai'
, code=
30, pc=
200030
)mydict =
func(
**mydict)
允許你傳入0個或任意個含引數名的引數,這些關鍵字引數在函式內部自動組裝為乙個dict。鍵為指定的引數名的字串,值為指定的引數名的值。
命名關鍵字引數
對於關鍵字引數,函式的呼叫者可以傳入任意不受限制的關鍵字引數。如果要限制關鍵字引數的名字,就可以用命名關鍵字引數。
def
func
(arg1,
*, name1, name2)
:pass
deffunc
(arg1,
*agrs, name1, name2)
:pass
func(
1, name1=
'bob'
, name2=
'jan'
)
由 * 或 可變引數(*args)隔開,後面的引數都是命名關鍵字引數。
呼叫時,必須寫明引數名。
組合使用5種引數
引數定義的順序必須是:
必選引數 > 預設引數 > 可變引數 > 命名關鍵字引數 > 關鍵字引數。
def
func
(a, b, c=0,
*args, namedkw1, namedkw2,
**kw)
:pass
deffunc
(a, b, c=0,
*, namedkw1,
**kw)
:pass
對於任意函式,都可以通過類似func(*args, **kw)的形式呼叫它,無論它的引數是如何定義的。
args元組會按順序賦值給(必選,預設,可變)引數。先滿足前二者數量,多餘的0個或多個傳給可變引數。
kw字典會按key傳遞引數給(命名關鍵字引數,關鍵字引數)。key中必須有 無預設值的命名關鍵字引數。
mytuple =(1
,2,3
,4,5
,6)mydict =
func(
*mytuple,
**mydict)
Python函式引數總結
作為乙個沒有系統學習過python,卻要與之日日相對看原始碼的人,真尼瑪痛苦啊。經常看到 kws之類的,心中狂虐 這啥?指標的指標?t t 昨天看 python核心程式設計 的時候,剛好看到了函式部分,於是順勢將目前接觸到的集中引數型別都總結一下吧 總的來說,除去普通的normal args,pyt...
Python字典操作簡明總結
1.dict 建立字典 複製 如下 fdict dict x 1 y 2 fdict 2.fromkeys 來建立乙個 預設 字典,字典中元素具有相同的值 複製 如下 ddict fromkeys x y 1 ddict 3.遍歷字典 使用keys 遍歷 複製 如下 dict2 for key in...
簡明python教程三 函式
函式通過def關鍵字定義。def關鍵字後跟乙個函式的表識別符號名稱,然後跟一對圓括號。圓括號之中可以包括一些變數名,該行以冒號結尾。接下來是一塊語句,它們是函式體。def sayhello print hello world sayhello 函式形參是在函式定義的圓括號對內指定,用逗號分隔。def...