一:函數的實參和形參
實參是在調用函數時()出現的外界的實際的值
形參不能再函數外部直接使用
1)實參的兩種形式
實參是調用函數時()中傳入的參數
1.位置實參
def a(a):print(a)a(1)
#得到返回值:1
?
2.關鍵字實參
def a(a,b):print(a,b)a(b=3,a=5)#得到返回值:5 3
?
2)形參的五種形式
形參就是定義函數時()中定義的函數
1.位置形參
def a(a,b):print(a,b)a(3,5)#得到返回值:3 5
?
2.默認形參
def a(a,b):print(a,b)a(3,5)#得到返回值:3 5
?
3.可變位置形參
def a(a,b=5,*args):print(a,b,args)a(3,4,6,7,8)#得到返回值:3 4 (6, 7, 8) #變長位置函數是將多余的位置函數整合為一個元組輸出出來,其前面的所有參數必須由位置實參輸入進入,遵從位置形參在默認形參前的規定。def a(a,b=5,*args):print(a,b,args)a(3,4,*[1,2,3])#得到返回值:3 4 (1, 2, 3) #輸入的單列集合類型前加*號是將其打散輸入進元組,否則作為一個值輸入
?
4.關鍵字形參
def a(a,b=5,*args,c,d):print(a,b,args,c,d)a(3,4,*[1,2,3],c=9,d=10)#得到返回值:3 4 (1, 2, 3) 9 10 #由*分割開來,后面的就是關鍵字形參,由關鍵字實參傳入值
?
5.可變關鍵字性參
def a(a,b=5,*args,c,d,**kwargs):print(a,b,args,c,d,kwargs)a(3,4,*[1,2,3],c=9,d=10,e=100,g=200)#的阿斗返回值:3 4 (1, 2, 3) 9 10 {'e': 100, 'g': 200} #在形參最后**加定義,傳入所有剩余的關鍵字實參
?