python 形参带星号
时间: 2023-07-14 14:08:55 浏览: 127
Python 中,带有星号的形参可以分为两种情况:带有单个星号(*args)和带有双星号(**kwargs)。
1. 带有单个星号(*args)的形参:
这种形参允许函数接受任意数量的位置参数,并将它们作为一个元组传递给函数体。在函数定义时,使用单个星号作为形参前缀,例如:def my_function(*args)。
这样定义的函数可以接受任意数量的参数,并将它们存储在 args 元组中。可以通过遍历 args 元组来访问这些参数。
示例代码:
```
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3)
```
输出结果:
```
1
2
3
```
2. 带有双星号(**kwargs)的形参:
这种形参允许函数接受任意数量的关键字参数,并将它们作为一个字典传递给函数体。在函数定义时,使用双星号作为形参前缀,例如:def my_function(**kwargs)。
这样定义的函数可以接受任意数量的关键字参数,并将它们存储在 kwargs 字典中。可以通过访问 kwargs 字典的键值对来访问这些参数。
示例代码:
```
def my_function(**kwargs):
for key, value in kwargs.items():
print(key, value)
my_function(name='Alice', age=25, city='New York')
```
输出结果:
```
name Alice
age 25
city New York
```
带有星号的形参可以让函数具有更大的灵活性,允许接受可变数量的参数。在函数调用时,可以传递任意数量的位置参数和关键字参数给这些形参。
阅读全文