一、基礎參數類型
在Python中,函數參數類型有普通參數、默認參數、可變參數和關鍵字參數四種類型。其中最基礎的是普通參數,也就是通過位置傳遞參數的方式,直接傳入函數中即可使用。
def add(a, b): return a + b print(add(1, 2)) # 輸出3
在這個例子中,add
函數的參數是a
和b
,通過在函數調用時傳入兩個參數1
和2
,add
函數將返回兩數之和3
。
二、默認參數
默認參數是指在定義函數時,給某個參數設置默認值,在調用函數時如果沒有傳入該參數,則會使用默認值。
def greet(name, message="Hello"): print(f"{message}, {name}!") greet("Alice") # 輸出Hello, Alice! greet("Bob", "Hi") # 輸出Hi, Bob!
在這個例子中,greet
函數有兩個參數name
和message
,其中message
的默認值為"Hello"
。當調用greet("Alice")
時,函數將使用默認值輸出Hello, Alice!
,而當調用greet("Bob", "Hi")
時,函數會使用傳入的"Hi"
輸出Hi, Bob!
。
三、可變參數
可變參數允許函數在聲明時不確定傳入參數的數量。在Python中,可變參數一共有兩種類型:可變位置參數和可變關鍵字參數。
1. 可變位置參數
可變位置參數使用*
號來聲明。在函數中,可變位置參數被視為一個元組,這個元組包含了傳入函數的所有位置參數。
def add(a, b, *args): for arg in args: a += arg return a + b print(add(1, 2, 3, 4)) # 輸出10
在這個例子中,add
函數有三個參數a
、b
和*args
。當調用add(1, 2, 3, 4)
時,函數將使用1
和2
作為a
和b
的值,並將剩餘的參數3
和4
作為一個元組傳遞給*args
,函數將使用循環計算出所有參數的總和並返回。
2. 可變關鍵字參數
可變關鍵字參數使用**
號來聲明。在函數中,可變關鍵字參數被視為一個字典,這個字典包含了所有傳入函數的關鍵字參數。
def print_info(name, age, **kwargs): print(f"Name: {name}, Age: {age}") if "city" in kwargs: print(f"City: {kwargs['city']}") if "job" in kwargs: print(f"Job: {kwargs['job']}") print_info("Alice", 25, city="New York", job="Engineer") # 輸出Name: Alice, Age: 25 # 輸出City: New York # 輸出Job: Engineer
在這個例子中,print_info
函數有三個參數name
、age
和**kwargs
。當調用print_info("Alice", 25, city="New York", job="Engineer")
時,函數將使用"Alice"
和25
作為name
和age
的值,並將剩餘的參數{"city": "New York", "job": "Engineer"}
作為一個字典傳遞給**kwargs
,函數將使用if
語句判斷字典中是否包含"city"
和"job"
關鍵字,並輸出相應的值。
四、關鍵字參數
關鍵字參數使用=
號來指定參數的名字。這種方式允許函數在調用時指定參數名,而不需要按照位置順序傳遞參數。
def greet(name, message): print(f"{message}, {name}!") greet(message="Hi", name="Alice") # 輸出Hi, Alice!
在這個例子中,greet
函數有兩個參數name
和message
。當調用greet(message="Hi", name="Alice")
時,函數將使用"Alice"
和"Hi"
作為name
和message
的值,並輸出Hi, Alice!
。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198042.html