Python函式引數傳遞的幾種形式

2021-09-28 15:39:50 字數 2887 閱讀 8980

莫聽穿林打葉聲,何妨吟嘯且徐行。竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生。❤️

位置傳參:實際呼叫引數(實參) 的對應關係與形式引數(形參)的對應關係是按位置來依次對應的。

def

fx(a, b, c)

:pass

fx(1,

2,3)

序列傳參:在函式呼叫過程中,用 * 將序列拆解(或收集)後按位置進行傳遞的傳參方式,。

def

fx(a, b, c)

:pass

t =(1

,2,3

) fx(

*t)

deffx(

*args)

:print

(args[1]

) fx(1,

2,3,

4)結果為:

2

關鍵字傳參:實參和形參按名稱進行匹配。

def

fx(a, b, c)

:pass

fx(c =

1, a =

2, b =

3)

def

fx(address, ***,

*, name, age)

:# *後面代表這個引數呼叫時必須使用關鍵字的方式

print

(address, ***, name, age)

fx("上海"

,"男"

, name=

"張三"

,age=

18)

def

fx(address, ***,

*, name, age)

:# *後面代表這個引數呼叫時必須使用關鍵字的方式

print

(address, ***, name, age)

fx("上海"

,"男",**

)

字典關鍵字傳參:實參為字典,用**拆解字典(或收集關鍵字)後再進行關鍵字傳參。

def

fx(a, b, c)

:pass

d =fx(

**d)

deffx(

**kwargs)

:print

(kwargs)

print

(kwargs[

'c']

) fx(a=

1, b=

"b", c=[1

,2,3

], d=

true

) 結果為: [

1,2,

3]

說明:

字典的鍵名和形參名必須一致;

字典的鍵名必須為字串;

字典的鍵名要在形參中存在。

混合傳參實參順序:通常位置傳參和序列傳參先傳遞,其次是關鍵字傳參和字典關鍵字傳參。

def

fx(a, b, c, d, e, f)

:pass

fx(10,

*(20,

30), e=50,

**)

混合傳參形參順序:自左至右為: 1. 位置形參;2. 星號元組形參;3. 命名關鍵字形參;4. 雙星號字典形參。

def

fx(a, b,

*args, c,

**kwargs)

:print

(c)print

(kwargs)

fx(100,

200,

300,

400,

*"ab",**

, c=

100)

結果為:

100fx(

100,

200,

300,

400,

*"ab",**

, e=

100)

結果為:

c

函式的預設引數:形參的預設值。

說明:預設引數在形參末尾依次存在;

預設引數可以有0個,1個,多個,甚至全部都有預設引數;

預設引數的值同函式的生命週期一致。

def

fx(name, age=

1, address=

"不詳"):

print

("我叫"

, name,

'我今年:'

, age,

'歲, 家庭住址:'

, address)

fx("張飛",30

,"中原"

) fx(

"關羽",35

) fx(

"趙雲"

) 結果為:

我叫 張飛 我今年:

30 歲, 家庭住址: 中原

我叫 關羽 我今年:

15 歲, 家庭住址: 不詳

我叫 趙雲 我今年:

1 歲, 家庭住址: 不詳

def

fx(a, lst=

):# 此示例來示意fn函式中lst繫結的預設引數的列表的生命週期

print

(lst)

l =[1

,2,3

,4] fx(

5, l)

fx(6, l)

fx(1)

fx(2)

結果為:

[1,2

,3,4

,5][

1,2,

3,4,

5,6]

[1][

1,2]

python中函式引數傳遞的幾種方法

2008 06 19 13 06 48 python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。...

python中函式引數傳遞的幾種方法

python中函式引數的傳遞是通過 賦值 來傳遞的。但這條規則只回答了函式引數傳遞的 戰略問題 並沒有回答 戰術問題 也就說沒有回答怎麼賦值的問題。函式引數的使用可以分為兩個方面,一是函式引數如何定義,二是函式在呼叫時的引數如何解析的。而後者又是由前者決定的。函式引數的定義有四種形式 1.f arg...

python函式傳遞引數的幾種方法整理

形參 函式定義使用的引數 實參 函式呼叫使用的引數 1 位置實參 引數的先後順序很重要 def func first,last print fisrt first,last last n func a b func b a fisrt a last b fisrt b last a2 關鍵字實參 在...