Python中函數參數是定義函數時給函數傳遞參數的一種方式。本文將深入講解Python中的函數參數,包括位置參數、默認參數、可變參數、命名關鍵字參數以及關鍵字參數等。
一、位置參數
位置參數是一種最常用的參數形式,在調用函數時,通過位置來傳遞參數,每個參數的位置都固定對應著函數參數列表中的參數。
例:
def user_info(name,age,gender):
print('名字:',name)
print('年齡:',age)
print('性別:',gender)
user_info('Tom',20,'男')
以上代碼為定義了一個名為user_info()
的函數,該函數包含三個位置參數name
、age
和gender
,其分別表示人的姓名、年齡和性別。調用該函數時,傳遞參數的順序應該與函數定義時的順序對應。
二、默認參數
Python中的默認參數指在定義函數時,為函數參數提供默認值。如果在調用函數時未傳遞該參數,則函數使用默認值。
例:
def user_info(name,age,gender='男'):
print('名字:',name)
print('年齡:',age)
print('性別:',gender)
user_info('Tom',20)
user_info('Jerry',18,'女')
以上代碼為定義了一個名為user_info()
的函數,該函數包含三個參數name
、age
和gender
,其中gender
為默認參數,默認值為'男'
。當函數調用時,如果未傳遞gender
參數,則使用默認值。
三、可變參數
可變參數是指在定義函數時,不確定要傳遞多少參數,這樣可以處理不確定數量的參數,包括位置參數和關鍵字參數。
例1:位置參數
def add(*args):
sum = 0
for i in args:
sum += i
return sum
result = add(1,2,3,4)
print(result) # 輸出10
以上代碼為定義了一個名為add()
的函數,該函數使用可變位置參數*args
,表示不確定數量的位置參數。在函數內部,對傳遞參數的總和進行求和操作,最終返回求和結果。
例2:關鍵字參數
def user_info(**kwargs):
for k,v in kwargs.items():
print(k,':',v)
user_info(name='Tom',age=20,gender='男')
以上代碼為定義了一個名為user_info()
的函數,該函數使用可變關鍵字參數**kwargs
,表示接收不確定數量的關鍵字參數。函數會遍歷關鍵字參數字典,輸出相應的鍵值對信息。
四、命名關鍵字參數
在Python中,指定了參數名的關鍵字參數稱為命名關鍵字參數,這種參數必須傳入參數名,且如果未傳遞該參數,則會拋出異常。
例:
def user_info(name,*,age,gender):
print('名字:',name)
print('年齡:',age)
print('性別:',gender)
user_info('Tom',age=20,gender='男')
以上代碼為定義了一個名為user_info()
的函數,該函數使用位置參數name
和命名關鍵字參數age,gender
,其中age
和gender
需要通過參數名進行傳遞。在函數調用時必須指定參數名,否則將會拋出異常。
五、關鍵字參數
關鍵字參數是指在調用函數時,通過鍵值對的方式傳遞參數。這種參數類型可以與位置參數和默認參數混合使用。
例:
def user_info(name,age,gender):
print('名字:',name)
print('年齡:',age)
print('性別:',gender)
user_info(name='Tom',age=20,gender='男')
以上代碼為定義了一個名為user_info()
的函數,該函數包含三個參數name
、age
和gender
。雖然在調用函數時,參數的順序與函數定義時不一致,但通過關鍵字參數可以準確地將參數值傳遞到對應的形參中。
原創文章,作者:RANUN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330496.html