例1:
def test(a,b,c=10,*args): # 預設引數c,要放在a,b的後面
print("a=%s" %a)
print("b=%s" %b)
print("c=%s" %c)
print("args:")
for each in args:
print(each)
>>> test(1,2,3,44,55,66,77,88) # 1傳給a,2傳給b,3傳給c,44,55,66,77,88傳給args
a=1b=2
c=3args:
4455
6677
88
>>> def test(a,b,c=10,*args,**kwargs):
print("a=%s" %a)
print("b=%s" %b)
print("c=%s" %c)
print("args:")
for each in args:
print(each)
print("kwargs-items:")
# 可以將kwargs理解為字典
for each in kwargs.items(): #列印items
print(each)
print("kwargs-keys:")
for each in kwargs.keys(): #列印keys
print(each)
print("kwargs-values:")
for each in kwargs.values(): #列印values
print(each)
>>> test(1,2,3,44,55,name="wang qing",age=23,gender="girl",job="hr")
a=1b=2
c=3args:
4455
kwargs-items:
('name', 'wang qing')
('age', 23)
('gender', 'girl')
('job', 'hr')
kwargs-keys:
name
agegender
jobkwargs-values:
wang qing
23girl
hr
例 2:
>>> a=[22,33,44]
>>> b=
>>> def test(a,*args,**kwargs):
print("a=%s" %a)
print("args:")
for each in args:
print(each)
print("kwargs:")
for each in kwargs:
print(each)
>>> test(1,a,b) # a作為整體傳入args,b並非以鍵值對的形式傳入,作為整體傳入args,沒有引數傳入kwargs
a=1args:
[22, 33, 44]
kwargs:
可將以上**中a,b進行拆包後傳入:
>>> a=[22,33,44]
>>> b=
>>> def test(a,*args,**kwargs):
print("a=%s" %a)
print("args:")
for each in args:
print(each)
print("kwargs:")
for each in kwargs:
print(each)
>>> test(1,*a,**b) # 傳參時,先將a,b拆包,乙個*拆列表,兩個**拆字典
a=1args:
2233
44kwargs:
name
agegender
job
Python基礎 不定長引數
python自定義函式中有兩中不定長引數,第一種是 name,第二種是 name。加了星號 的引數會以元組 tuple 的形式匯入,存放所有未命名的變數引數。加了兩個星號 的引數會以字典的形式匯入。第一種形式的不定長引數,在傳入額外的引數時可以不用指明引數名,直接傳入引數值即可,第二種因為返回的是字...
Python不定長引數
記錄了python函式的不定長引數,用 來接收不定長的資料。在定義函式時,可以在形參前邊加上乙個 這樣這個形參將會獲取到所有的實參,它將會將所有的實參儲存到乙個元組中 a會接受所有的位置實參,並且會將這些實參統一儲存到乙個元組中 裝包 fn3函式的使用 形參可以接收其他的關鍵字引數,它會將這些引數統...
不定長引數 python
如果向乙個函式傳遞的引數的數量每次都不同,想要讓函式去做每次相加或者其他的事的時候,可以用 變數名 傳遞不定長引數,傳進去以後的變數會變成乙個元組def sum a result 0print type a for i in a result i return result result sum 1...