一、位置參數、關鍵字參數、可變參數、默認參數的區別
1、位置參數
位置參數是指根據參數在函數定義中的位置進行匹配的參數。在調用函數時,必須按照函數定義的參數順序依次傳入相應的參數。例如:
def add(x, y):return x + yresult = add(2, 3)print(result) # 輸出 5
在這個例子中,add()
函數有兩個位置參數,分別是x
和y
。在調用add()
函數時,必須按照x
和y
的順序依次傳入相應的參數。如果參數的順序不正確,會導致函數返回錯誤的結果。
2、關鍵字參數
關鍵字參數是指根據參數名進行匹配的參數。在調用函數時,可以通過指定參數名來傳遞參數,這樣可以不按照參數的定義順序傳遞參數,避免了因參數順序不當而導致的錯誤。例如:
def add(x, y):return x + yresult = add(x=2, y=3)print(result) # 輸出 5
在這個例子中,add()
函數的參數x
和y
都是關鍵字參數。在調用add()
函數時,我們使用x=2
和y=3
來指定參數的值,這樣就不必按照參數的定義順序傳遞參數了。
3、可變參數
可變參數是指可以接受任意數量參數的參數。在Python中,可變參數可以通過在參數名前加上一個星號*
來定義,這樣函數就可以接受任意數量的位置參數。例如:
def add(*args):total = 0for arg in args:total += argreturn totalresult = add(2, 3, 4)print(result) # 輸出 9
在這個例子中,add()
函數的參數名為args
,前面有一個星號*
。這樣,add()
函數就可以接受任意數量的位置參數,并將它們存儲在一個元組中。
4、默認參數
默認參數是指在函數定義時就已經指定默認值的參數。在調用函數時,如果沒有傳遞該參數的值,則使用該參數的默認值。例如:
def add(x, y=0):return x + yresult1 = add(2)result2 = add(2, 3)print(result1) # 輸出 2print(result2) # 輸出 5