python3不定長引數

2021-10-02 12:43:05 字數 1593 閱讀 4647

python中用以下方式解決引數個數的不確定性。

(1)函式中用*arg方式接收資料,以元組(tuple)的形式傳參。

def func

(x,*args)

:print

("x=,args="

.format

(x,args)

) res=x

for i in args:

res=res+i

return res

print

("result="

,func(1

,2,3

))#輸出結果為x=1

,args=(2

,3)result=

6

上面的例子中把值1傳給了x,把值2,3放在乙個tuple中,為args。

函式func中args引數名稱可以改變,但符號*必須有。可以不給args傳引數。

print

(func(1

))#輸出結果為x=1

,args=()

result=

1

從列印結果看,本例中的*args是乙個空的tuple。

(2)函式中用**kargs方式接收資料,以字典(dict)的形式傳參。

def func2

(x,**kwargs)

:print

('x='

,x)print

('kwargs='

,kwargs)

print

(type

(kwargs)

)print

(func2(1

,a=2

,b=3))

#輸出結果為x=1

kwargs=

<

class

'dict'

>

用**kwargs的形式收集值時,得到的資料型別是字典,因為字典是以「鍵-值」對的形式出現的,所以傳參的時候也要說明「鍵」和「值」。

def func2

(x,**kwargs)

:print

('x='

,x)print

('kwargs='

,kwargs)

print

(type

(kwargs)

)print

(func2(1

,2,3

))#結果會報錯

也可以直接傳入tuple和dict型別的引數

def func3

(a, b,

*args,

**kwargs)

:print

(a)print

(b)print

(args)

print

(kwargs)

tup =(1

,2,3

)dic =

func3(1

,2,*tup,

**dic)

#輸出結果為:12

(1,2

,3)

python3 函式 不定長引數 不定參

第一種不定長引數 args args 稱為不定長引數,只能放在形參的最後位置,返回的是乙個元組 def num a,b,args print a print b print args num 11,22 返回結果 1122 33,55會放在元組args中 num 11,22,33,55 返回結果 1...

python3 不定長引數 的區別

def functionname formal args,var args tuple 函式 文件字串 function suite return expression 加了星號 的引數會以元組 tuple 的形式匯入,存放所有未命名的變數引數。usr bin python3 可寫函式說明 def ...

Python不定長引數

記錄了python函式的不定長引數,用 來接收不定長的資料。在定義函式時,可以在形參前邊加上乙個 這樣這個形參將會獲取到所有的實參,它將會將所有的實參儲存到乙個元組中 a會接受所有的位置實參,並且會將這些實參統一儲存到乙個元組中 裝包 fn3函式的使用 形參可以接收其他的關鍵字引數,它會將這些引數統...