Kwargs是什麼意思
kwargs
是 Python 的一個縮寫,代表 "關鍵字參數"(Keyword Arguments)。在 Python 函數中,*args
用於傳遞不定數量的位置參數,而 **kwargs
用於傳遞不定數量的關鍵字參數。
當你想要在函數中傳遞一個或多個參數,並且這些參數的名稱是已知的,但是你不知道要傳遞哪些參數以及它們的值時,就可以使用 **kwargs
。kwargs
是一個字典,它的鍵是參數名,值是對應的參數值。
下面是一個簡單的例子,展示了如何使用 **kwargs
:
def func(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
# 使用 func 函數
func(name="Alice", age=30)
在上面的例子中,func
函數接受一個 **kwargs
參數,它是一個字典,包含了所有傳遞給函數的關鍵字參數。在函數體內,我們可以使用 kwargs
來訪問這些參數。
kwargs
的一個常見用途是在類的建構函數中,這樣你就可以靈活地傳遞任意數量的參數來初始化對象的屬性。例如:
class Person:
def __init__(self, **kwargs):
self.__dict__.update(kwargs)
alice = Person(name="Alice", age=30)
print(alice.name) # 輸出 "Alice"
print(alice.age) # 輸出 "30"
在這個例子中,Person
類的建構函數使用 **kwargs
來接受任意數量的關鍵字參數,並將它們直接更新到對象的 __dict__
中,這樣就可以將 kwargs
中的鍵值對應到對象的屬性上。