在Python中,星號(*)有以下幾種作用:
1、解包操作
在函數調用時,星號可以用來對序列或可迭代對象進行解包,將其元素作為單獨的參數傳遞給函數。例如:
```
def func(a, b, c):
print(a, b, c)
lst = [1, 2, 3]
func(*lst) # 等價于func(1, 2, 3)
```
2、打包操作
在函數定義時,星號可以用來接收任意數量的位置參數或關鍵字參數,并將其打包為一個元組或字典。例如:
```
def func(*args):
print(args)
func(1, 2, 3) # 輸出(1, 2, 3)
def func(**kwargs):
print(kwargs)
func(a=1, b=2, c=3) # 輸出{'a': 1, 'b': 2, 'c': 3}
```
3、用作占位符
在元組、列表或字典中,星號可以用作占位符,表示任意數量的元素或鍵值對。例如:
```
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
merged_lst = [*lst1, *lst2] # 等價于merged_lst = [1, 2, 3, 4, 5, 6]
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
merged_dict = {**dict1, **dict2} # 等價于merged_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
```