python基礎之不定長引數

2021-09-02 14:52:23 字數 2032 閱讀 3739

例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...