python中的參數:形參實參
形參:
形式上的參數,可以理解為數學中的x,沒有實際的值,通過別人賦值后才有意義。相當于變量
實參:
實際意義上的參數,是一個世紀存在的參數,可以是字符串或者數字等。
就是在函數名中定義一個形參,然后在函數調用的時候,給函數名中的形參傳遞一個實際的參數,這個就是實參。這樣的話執行函數時就會使用參數執行相應的操作。
def
func
(
a
)
:
#a是形參
print
(
a
)
func
(
1
)
#1是實參
#代碼運行結果為:1
形參中*的作用:
def
func
(
a
,
*
args
)
:
print
(
a
)
print
(
args
)
func
(
1
,
2
,
3
,
4
)
#把1傳給a,把2,3,4傳給*args
1、*args是可變參數,args接收的是一個元組;
2、**kw是關鍵字參數,kw接收的是一個字典;
3、在 lambda 表達式中使用 *和 **,lambda 表達式可以當作一個匿名函數。只要是函數都可以傳參。
實參中*的作用
1、實參中的*號會獲取可迭代對象的 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
)
)
# 打印得到的結果為 ('n1', 'n2', 'n3', 'n4', 'n5')
由于獲取的是可迭代對象的 key,所以函數的形參可以為位置參數或可變參數。
2、實參中的**會獲取可迭代映射的值;
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
)
)
# 打印得到的結果為(5, 6, 7, 9, 8)
由于獲取的是可迭代對象的值,所以函數的形參只能為關鍵字參數,即參數的個數和名稱都是固定的。
參數的混合使用:
1、位置參數和可變參數
def
func
(
a
,
*
args
)
:
print
(
a
)
print
(
args
)
func
(
1
,
2
,
3
,
4
)
#把1傳給a,把2,3,4傳給*args
2、位置參數和默認參數
def
func
(
a
,
b
=
10
)
:
print
(
a
)
print
(
b
)
func
(
1
)
#把1傳給a,但是b不變
3、默認參數和可變參數混合使用,默認參數在可變參數的右側 ,需要用關鍵字指定參數
def
func
(
*
args
,
a
)
:
print
(
args
)
print
(
a
)
func
(
1
,
2
,
3
,
a
=
10
)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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