python 函式引數 簡明總結

2021-10-06 21:02:08 字數 1789 閱讀 7932

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...