在 Python 中,*args
和 **kwargs
是用来处理函数的可变数量参数的特殊语法。
*args
是一个用来接收任意数量的位置参数(非关键字参数)的元组。当你不确定函数会接收多少个位置参数时,可以使用 *args
。在函数定义中,你可以使用 *args
来接收任意数量的位置参数。例如:
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3) # 输出:1 2 3
my_function('a', 'b', 'c') # 输出:a b c
**kwargs
是一个用来接收任意数量的关键字参数的字典。当你不确定函数会接收多少个关键字参数时,可以使用 **kwargs
。在函数定义中,你可以使用 **kwargs
来接收任意数量的关键字参数。例如:
def my_function(**kwargs):
for key, value in kwargs.items():
print(key, value)
my_function(name='Alice', age=25) # 输出:name Alice age 25
my_function(country='USA', city='New York') # 输出:country USA city New York
你还可以同时在函数定义中使用 *args
和 **kwargs
,以接收任意数量的位置参数和关键字参数。例如:
def my_function(*args, **kwargs):
for arg in args:
print(arg)
for key, value in kwargs.items():
print(key, value)
my_function(1, 2, name='Alice', age=25) # 输出:1 2 name Alice age 25
需要注意的是,args
和 kwargs
只是约定俗成的名称,你可以使用其他名称,但使用 *
表示位置参数,**
表示关键字参数的语法是固定的。
希望这些信息对你有所帮助。如果你有任何进一步的问题,请随时提问。