一、基礎參數類型
在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-hk/n/198042.html
微信掃一掃
支付寶掃一掃