python中的參數(shù):形參實(shí)參
形參:
形式上的參數(shù),可以理解為數(shù)學(xué)中的x,沒(méi)有實(shí)際的值,通過(guò)別人賦值后才有意義。相當(dāng)于變量
實(shí)參:
實(shí)際意義上的參數(shù),是一個(gè)世紀(jì)存在的參數(shù),可以是字符串或者數(shù)字等。
就是在函數(shù)名中定義一個(gè)形參,然后在函數(shù)調(diào)用的時(shí)候,給函數(shù)名中的形參傳遞一個(gè)實(shí)際的參數(shù),這個(gè)就是實(shí)參。這樣的話執(zhí)行函數(shù)時(shí)就會(huì)使用參數(shù)執(zhí)行相應(yīng)的操作。
def
func
(
a
)
:
#a是形參
print
(
a
)
func
(
1
)
#1是實(shí)參
#代碼運(yùn)行結(jié)果為:1
形參中*的作用:
def
func
(
a
,
*
args
)
:
print
(
a
)
print
(
args
)
func
(
1
,
2
,
3
,
4
)
#把1傳給a,把2,3,4傳給*args
1、*args是可變參數(shù),args接收的是一個(gè)元組;
2、**kw是關(guān)鍵字參數(shù),kw接收的是一個(gè)字典;
3、在 lambda 表達(dá)式中使用 *和 **,lambda 表達(dá)式可以當(dāng)作一個(gè)匿名函數(shù)。只要是函數(shù)都可以傳參。
實(shí)參中*的作用
1、實(shí)參中的*號(hào)會(huì)獲取可迭代對(duì)象的 key(索引/鍵值);
def
func
(
n1
,
n2
,
n3
,
n4
,
n5
)
:
return
n1
,
n2
,
n3
,
n4
,
n5
d
=
{
'n1'
:
5
,
'n2'
:
6
,
'n3'
:
7
,
'n4'
:
8
,
'n5'
:
9
}
print
(
func
(
*
d
)
)
# 打印得到的結(jié)果為 ('n1', 'n2', 'n3', 'n4', 'n5')
由于獲取的是可迭代對(duì)象的 key,所以函數(shù)的形參可以為位置參數(shù)或可變參數(shù)。
2、實(shí)參中的**會(huì)獲取可迭代映射的值;
def
func
(
n1
,
n2
,
n3
,
n4
,
n5
)
:
return
n1
,
n2
,
n3
,
n4
,
n5
d
=
{
'n1'
:
5
,
'n2'
:
6
,
'n3'
:
7
,
'n5'
:
8
,
'n4'
:
9
}
print
(
func
(
**
d
)
)
# 打印得到的結(jié)果為(5, 6, 7, 9, 8)
由于獲取的是可迭代對(duì)象的值,所以函數(shù)的形參只能為關(guān)鍵字參數(shù),即參數(shù)的個(gè)數(shù)和名稱(chēng)都是固定的。
參數(shù)的混合使用:
1、位置參數(shù)和可變參數(shù)
def
func
(
a
,
*
args
)
:
print
(
a
)
print
(
args
)
func
(
1
,
2
,
3
,
4
)
#把1傳給a,把2,3,4傳給*args
2、位置參數(shù)和默認(rèn)參數(shù)
def
func
(
a
,
b
=
10
)
:
print
(
a
)
print
(
b
)
func
(
1
)
#把1傳給a,但是b不變
3、默認(rèn)參數(shù)和可變參數(shù)混合使用,默認(rèn)參數(shù)在可變參數(shù)的右側(cè) ,需要用關(guān)鍵字指定參數(shù)
def
func
(
*
args
,
a
)
:
print
(
args
)
print
(
a
)
func
(
1
,
2
,
3
,
a
=
10
)
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
