Python中的*args和**kwargs:讓你的函式更具彈性 | Python

在Python程式設計中,*args和**kwargs是兩個強大的功能,可以讓你的函式更具彈性,讓你能夠處理不確定數量的參數。這兩個概念在函式設計中非常常見,特別是在需要處理各種不同類型的資料時。在本篇文章中,我們將深入探討*args和**kwargs的概念,並提供一些實用的範例,幫助你更好地理解它們的使用方法。

*args的使用

在Python中,*args是一種特殊的參數,用於接受不定數量的位置參數。這意味著你可以在函式中傳遞任意數量的參數,而不需要事先指定它們的數量。*args將這些參數收集到一個元組(tuple)中,供函式內部使用。

讓我們看一個簡單的例子來演示*args的使用:

def add(*args):
    total = 0
    for num in args:
        total += num
    return total

print(add(1, 2, 3, 4, 5))  # 輸出: 15
print(add(10, 20, 30))      # 輸出: 60

在這個例子中,函式add接受任意數量的參數,並將它們加總起來返回。*args收集所有傳遞給函式的參數,並將它們存儲在一個元組中。

**kwargs的使用

除了*args,Python還提供了**kwargs,用於接受不定數量的關鍵字參數。這允許你在函式中傳遞任意數量的關鍵字參數,並將它們收集到一個字典(dictionary)中,以便在函式內部進行操作。

讓我們來看一個使用**kwargs的範例:

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="John", age=30, city="New York")

這個函式接受任意數量的關鍵字參數,並將它們打印出來。**kwargs將這些關鍵字參數收集到一個字典中,供函式內部使用。

結語

*args和**kwargs是Python中非常強大且常用的功能,可以讓你的函式更具彈性和通用性。通過使用它們,你可以更容易地處理各種不同類型和數量的參數,使你的程式碼更具可讀性和彈性。希望本文能幫助你更好地理解和應用*args和**kwargs在你的Python程式中。