1.位置參數
位置參數要求調用時傳入函數的參數必須和定義時的位置和個數一致,即一一對應,不可缺省
def func(a,b):sum = a + breturn sum
print(func(2,3)) //5
print(func(2)) //報錯
2.默認參數
定義在位置參數后,作用是當參數缺省時,用定義的默認值替代
def func(a,b=3):sum = a + b return sum
print(func(2,4)) //6
print(func(2)) //5
3.可變參數
在tuple或list前加一個*,構造出可變參數。接收任意個參數,包括0個。用于函數參數不確定的情況
def func(*args):sum = 0for x in args:sum += xreturn sum print(func(1,2,3)) //6
//將list或tuple內全部元素作為可變參數
L = [1,2,3,4]
print(func(*L)) //10
4.關鍵字參數
在dict前加兩個*,構造關鍵字參數。接收任意無限制的參數,用于擴展函數的功能
def func(a,b,**kw):sum = a+bprint(a,'+',b,'=',sum,kw)
func(2,3,color="black",phone="vivo")
// Out:2 + 3 = 5 {'color': 'black', 'phone': 'vivo'}//先組裝dict,再作為關鍵字參數傳進去
desc = {'color': 'black', 'phone': 'vivo'}
func(2,3,**desc)
// Out:2 + 3 = 5 {'color': 'black', 'phone': 'vivo'}
5.命名關鍵字參數
命名關鍵字參數指定了key,將關鍵字參數做了一個限制。以一個作為分割。如果已經存在可變參數,那么命名關鍵字不需要作為分割
def func(a,b,*,color):sum = a+bprint(a,'+',b,'=',sum,'color:',color)
func(2,3,color='black') // Out:2 + 3 = 5 color: black
func(2,3,color='black',phone='vivo') //報錯 func() got an unexpected keyword argument 'phone'
//如果已經存在可變參數,那么命名關鍵字不需要*作為分割
def func(a,b,*args,color='red'):sum = a+bprint(a,'+',b,'=',sum,args,'color:',color)
func(2,3,color='black') //2 + 3 = 5 () color: black
func(2,3,4,5,color='black') // 2 + 3 = 5 (4, 5) color: black
//命名關鍵字支持默認值
func(2,3,4,5) //2 + 3 = 5 (4, 5) color: red
注意:
參數位置排列順序:位置參數,默認參數,可變參數,命名關鍵字參數,關鍵字參數,
總結
以上是生活随笔為你收集整理的python疑问5:位置参数,默认参数,可变参数,关键字参数,命名关键字参数区别...的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。