在 Python 中,函數參數是*傳遞*給函數的*數據*。這些數據可以是數字、字符串、列表、字典等任何 Python 對象
def greet(name, age):
print(f"Hello, {name}! You are {age} years old.")
greet("Alice", 30)
#在使用函數並輸入參數時,直接給值的話 就要按照定義的順序
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet(name="Bob", greeting="Hi")
#如果在使用函數並使用name和greeting來賦值,順序就可以任意
def power(base, exponent=2):
return base ** exponent
power(3)
#9
power(3,4)
#81
power(3)
如果只輸入一個值,就會帶到第一個參數basepower(3,3)
如果只輸入2個值,第一個值就會帶到第一個參數,第2個值就會帶到第2個參數
*args
: 收集任意數量的位置參數,以元組形式傳遞。**kwargs
: 收集任意數量的關鍵字參數,以字典形式傳遞。
def my_function(*args, **kwargs):
print(args)
print(kwargs)
參數組合使用
*args
必須在關鍵字參數之前。**kwargs
必須在所有其他參數之後。def my_function(a, b=2, *args, **kwargs):
# ...
*args
和 **kwargs
: 提供靈活性,可以處理任意數量的參數。*args
和 **kwargs
可以一起使用,但順序不能錯。函數參數是函數的重要組成部分。
不同的參數類型提供了不同的功能和靈活性。
根據實際需求選擇合適的參數類型。
def create_user(name, age, city="Taipei", **kwargs):
user = {"name": name, "age": age, "city": city}
for key, value in kwargs.items():
user[key] = value
return user
user = create_user("Alice", 30, email="alice@example.com")
print(user)
這個範例展示了如何組合使用不同的參數類型,以實現一個功能更強大的函數。
通過對 Python 函數參數的深入了解,我們可以寫出更加靈活、可讀性更高的代碼。合理地使用位置參數、關鍵字參數、預設參數、*args 和 kwargs,可以大大提高我們的編程效率。