Day5 07 函式的引數 引數組合

2022-08-21 23:51:11 字數 1107 閱讀 1052

現在我們學完了位置引數、預設引數、可變引數、關鍵字引數、命名關鍵字引數五種引數型別。

在python中定義函式,可以使用這五種引數進行組合。

但是引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數

def f1(a, b, c=0, *pp, **kw):

print(a,b,c,pp,kw)

dd = [9,10,12,14,15,17,19,20]

dk =

f1(*dd,**dk)

9 10 12 (14, 15, 17, 19, 20)

def f2(a,b,c=0,*,job,hh):

print(a,b,c,job,hh)

dw = (1,2,3)

ww =

f2(*dw,**ww)

1 2 3 jj hh

可以通過乙個tuple和dict來呼叫函式。

def f3(a,b,c,*pp,host,words,**kw):

print(a,b,c,pp,host,words,kw)

pp1 = (1,2,3,4,5,6,7,8,9,0)

pp2 =

pp3 =

pp4 =

f3(*pp1,**pp2,**pp3)

f3(*pp1,**pp4)

1 2 3 (4, 5, 6, 7, 8, 9, 0) hh ww

1 2 3 (4, 5, 6, 7, 8, 9, 0) hh ww

實際上,對於任意函式,都可以通過類似func(*args, **kw)的形式呼叫它,無論它的引數時如何定義的。

雖然可以組合多達5中引數與, 但不要同時使用太多的組合,否則函式介面的可讀性和可理解性都會非常差。

練習:以下函式允許計算兩個數的乘積,請稍加改造,變成可接收乙個或多個數並計算乘積:

def product(x, y):

return x * y

-------------------------------------

def pro(*x,y=1):

s = 1

for i in x:

s = i * s

print( s*y )

Python引數組合

引數定義的順序必須是 必選引數 預設引數 可選引數 命名關鍵字引數 關鍵字引數 1 a,b為必選引數 c為預設引數 args為可變引數 kw為關鍵字引數 2def f1 a,b,c 0,args,kw 3print a b b,c args args,kw kw 45 引數定義的順序必須是 必選引數...

DAY10 函式的引數

1.實參 呼叫引數,在括號內傳入的實際值,值可以為常量 變數 表示式或三者的組合 2.形參 定義函式時,在括號內宣告的變數名,用來接受外界傳來的值 1.位置實參 不用明確形參名的傳參方式,一定按照位置給形參傳值 2.關鍵字實參 必須明確形參名字與值為形參傳值,可以不用按照為宗旨 3.注意 1.關鍵字...

Day5 03 函式的引數 位置引數和預設引數

位置引數 呼叫函式時,傳入函式的引數,按照位置順序依次賦值給函式的引數。計算乘方的函式 def power x,n s 1 while n 0 n n 1 s s x return s 在使用power 1,2 時,會根據位置順序,將1賦值給x 2 賦值給n。預設引數 如果希望不指定指數時,預設按照...