python中*和**
时间: 2023-07-23 17:18:45 浏览: 96
在 Python 中,* 和 ** 是两个非常常用的操作符。它们可以用于函数参数、解构赋值、序列和集合的操作等。
1. * 操作符:
- 函数参数:*args,表示接收任意数量的位置参数,将这些参数打包成一个元组。
- 序列操作:*list,表示将一个序列解包成位置参数,作为函数的输入。
- 解构赋值:*vars, 表示将一个序列打包成一个元组。
举例说明:
```python
# 函数参数
def add(*args):
sum = 0
for num in args:
sum += num
return sum
print(add(1, 2, 3, 4, 5)) # 输出为 15
# 序列操作
list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(*list1, *list2) # 输出为 1 2 3 4 5 6
# 解构赋值
a, *b, c = [1, 2, 3, 4, 5]
print(a, b, c) # 输出为 1 [2, 3, 4] 5
```
2. ** 操作符:
- 函数参数:**kwargs,表示接收任意数量的关键字参数,将这些参数打包成一个字典。
- 解构赋值:**vars,表示将一个字典打包成一组关键字参数。
举例说明:
```python
# 函数参数
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name='Tom', age=18, gender='male') # 输出:name: Tom; age: 18; gender: male
# 解构赋值
dict1 = {'a': 1, 'b': 2, 'c': 3}
print(**dict1) # 输出为 a=1 b=2 c=3
```
阅读全文