莫聽穿林打葉聲,何妨吟嘯且徐行。竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生。❤️
位置傳參:實際呼叫引數(實參) 的對應關係與形式引數(形參)的對應關係是按位置來依次對應的。
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 關鍵字實參 在...