在 Python 中,*args 是函數定義中使用的特殊語法,當你事先不知道有多少個參數可能傳遞給函數時,*args 語法可讓您向函數傳遞可變數量的位置參數。
這是一個簡單的例子來說明 *args 如何運作:
def print_numbers(*args):
for number in args:
print(number)
print_numbers(1, 2, 3, 4, 5)
Output:
1
2
3
4
5
在這個例子中,print_numbers 函數可以接受任意數量的參數,然後逐一列印。
你也可以將 *args 與常規位置參數和關鍵字參數結合,但是,*args 必須位於函數定義中的任何常規參數之後:
def greet(greeting, *names):
for name in names:
print(f”{greeting}, {name}!”)
greet(“Hello”, “Alice”, “Bob”, “Charlie”)
Output:
Hello, Alice!
Hello, Bob!
Hello, Charlie!
我們再看多一個例子:
def sum_numbers(*args):
return sum(args)
print(sum_numbers(1, 2, 3))
Output: 6
6print(sum_numbers(10, 20, 30, 40))
Output: 100
由此可見,你可透過*args,編寫更清晰、更有效率的程式碼,以處理各種輸入場景。