|
发表于 2023-8-1 22:54:06
|
显示全部楼层
在Python中,当你想要收集可变数量的参数时,可以使用带有星号(*)的特殊语法。星号在函数定义时有两种用法:
1. 收集位置参数:
你可以使用单个星号(*)来收集任意数量的位置参数,这些参数将被收集为一个元组(tuple)。例如:
- def my_function(*args):
- for arg in args:
- print(arg)
- my_function(1, 2, 3, 4)
-
复制代码
输出:
在这个例子中,我们定义了一个带有单个星号的函数参数 *args ,它允许我们传入任意数量的位置参数,然后将它们作为元组在函数内部进行处理。
2. 收集关键字参数:
你可以使用双星号(**)来收集任意数量的关键字参数,这些参数将被收集为一个字典(dictionary)。例如:
- def my_function(**kwargs):
- for key, value in kwargs.items():
- print(f"{key}: {value}")
- my_function(a=1, b=2, c=3)
-
复制代码
输出:
在这个例子中,我们定义了一个带有双星号的函数参数 **kwargs ,它允许我们传入任意数量的关键字参数,然后将它们作为字典在函数内部进行处理。
总结:当你想要处理可变数量的位置参数时,使用单个星号 *args ;当你想要处理可变数量的关键字参数时,使用双星号 **kwargs 。 |
|