形參:
在定義函數階段定義的參數稱之為形式參數,簡稱形參,相當於變量名
實參:
在調用函數階段傳入的值稱之為實際參數,簡稱實參,相當於變量值
形參與實參的關系:
1.在調用階段,實參(變量值)會綁定給形參(變量名)
2,這種綁定關系只能在函數體內使用
3.實參和形參的綁定關系在函數調用時生效,函數調用結束后解除綁定關系(釋放內存空間)
位置參數:
按照從左到右的順序依次定義的參數稱之為位置參數
位置形參:
在函數定義階段,按照從左到右的順序直接定義的“變量名”
特點:
必須被傳值,多一個不行少一個也不行
位置實參:
在函數調用階段,按照從左到右的順序依次傳入的值
特點:
按照你順序與形參一一對應
關鍵字實參:
在函數調用階段,按照key=value的形式傳入的實參
特點:
指名道姓給某個形參傳值,可以完全不參照順序
默認形參:
位置形參必須在默認形參的左邊,必須先定義位置形參再定義默認形參
默認參數的值是在函數定義階段被賦值的,准確地說被賦予值的內存地址
雖然默認參數可以是任意數據類型,但不推薦使用動態數據類型(無法預知結果)
python中所有值的傳遞,傳遞的都不是值本身,而是值的引用,即內存地址
命名關鍵字參數
在定義函數時,*后定義的參數,如下所示,稱之為命名關鍵字參數
def func(x,y,*,a,b):
參數組合使用的順序
位置形參、默認形參、*args、命名關鍵字形參、**kwargs
def func(x,y=11,*args,z,**kwargs):
print(x)
print(y)
print(args)
print(z)
print(kwargs)