關鍵字引數,key=value
def
add(a,b=10)
: result = a + b
print
(result)
add(
5)
輸出: 15
def
add(a,b=10)
: result = a + b
print
(result)
add(4,
7)# 原來的預設引數值會被覆蓋
輸出:11
def
add(a, b=
10, c=4)
:print
(a, b, c)
result = a + b + c
print
(result)
add(1,
5)# 此時是給a和b賦值成功
#如何給c賦值而不是b
add(
2, c=6)
# 通過關鍵字key來給c賦值
輸出:18
**kwargs的使用:
def
func
(**kwargs)
:# **kwargs也是可變引數,需要結合關鍵字引數來使用,送的值必須是key=value的格式
print
(kwargs)
func(a=
1,b=
2,c=
3)
輸出:
def
func
(**kwargs)
:print
(kwargs)
dict1 =
func(
**dict1)
#傳遞實參時,**會將字典進行拆包
輸出:
def
print_boy
(name,
**persons)
:#裝包
print
('{}喜歡的是:'
.format
(name))if
isinstance
(persons,
dict):
values = persons.values(
)for name,age in values:
print
('{}的年齡是:{}'
.format
(name,age)
) print_boy(
'rui'
,**students)
# 拆包
輸出:
rui喜歡的是:
蔡徐坤的年齡是:20
王源的年齡是:19
王俊凱的年齡是:20
總結:注意一下區別:
def
aa(a,b,
*c,**d)
:#a,b是必須給的項,*c是可變的引數,元組;**d是可變的引數,關鍵字型
print
(a,b,c,d)
aa(1,2
)aa(1,
2,3,
4)aa(1,2
,x=100
,y=200
)aa(1,
2,3,x=
100)
輸出:
12(
)12(
3,4)
12()
12(3
,)
Python中關鍵字引數和命名關鍵字引數的區別
python中函式的引數有位置引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數,這個順序也是定義函式時的必須順序。本文主要是講講命名關鍵字引數和關鍵字引數的區別 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數...
Python引數之關鍵字引數
關鍵字引數允許我們在傳入必選引數外,還可以接受關鍵字引數kw def person name,age,kw prit name name,age age,other kw 這裡的name,age是必須的,kw可選,意味著第三個引數開始我們可以傳入任意個數的關鍵字引數 person bob 35,ci...
非關鍵字引數和關鍵字引數 args kw
這兩個引數的存在是方便在呼叫函式的時候可以靈活的傳參 def count numbers sum 0 for n in numbers sum sum n n return sum count 1,2,3 14 count 1,3,5,7 84如果已經有乙個list或者tuple,要呼叫乙個可變引數...