概述
Python3中函數(shù)參數(shù)一般都是通過賦值進行傳遞的,而調(diào)用者只需要知道如何正確的傳遞參數(shù)即可直接使用函數(shù),
位置參數(shù)
即我們使用最頻繁的參數(shù)傳遞方法,通過參數(shù)的默認位置從左到右進行匹配
def f(x, y, z):
print(x, y, z)
f(1, 2, 3)
示例結果:
1 2 3
關鍵詞參數(shù)
我們可以通過函數(shù)參數(shù)關鍵字進行參數(shù)傳遞,此時參數(shù)的傳遞是通過變量名匹配,而不是位置的方式匹配,所以在我們在使用混合的基于位置的參數(shù)和基于關鍵字的參數(shù)傳遞的原則就是,先基于位置的參數(shù)從左到右進行匹配,然后在基于變量名進行關鍵字的匹配。
def f(x, y, z):
print(x, y, z)
# 關鍵字匹配
f(x=1, y=2, z=3)
# 無需位置的匹配
f(y=2, z=3, x=1)
# 位置與關鍵字的混合匹配
f(1, z=3, y=2)
示例結果:
1 2 3
1 2 3
1 2 3
默認參數(shù)
當我們在傳遞參數(shù)時,有些參數(shù)總是默認的時候,即如果沒有傳入值的話,在函數(shù)運行之前,這些參數(shù)就被賦予了默認值,這也是我們在函數(shù)定義時經(jīng)常使用參數(shù)定義方式
def f(x, y=2, z=3):
print(x, y, z)
# 僅傳遞非默認參數(shù)
f(1)
# 同樣可以進行位置參數(shù)的傳遞
f(1, 2, 3)
# 傳遞關鍵字參數(shù)
f(1, y=4, z=5)
示例結果:
1 2 3
1 2 3
1 4 5
聯(lián)系客服