Python 函数参数 *args
和 **kwargs
是在函数定义时使用的特殊语法,它们可以接收任意数量的位置参数和关键字参数,而函数的参数数量和名称在定义时是未知的。下面我给您讲解一下这两种参数的使用方法。
*args
*args
用于接收可变数量的位置参数,它把传入的所有位置参数都放在一个元组中,而这个元组就是 args
。以下是示例:
def sum_num(*args):
total = 0
for num in args:
total += num
return total
result = sum_num(1, 2, 3, 4, 5)
print(result) # 输出 15
在这个示例中,sum_num
函数接收任意数量的位置参数,并使用循环语句计算它们的总和。
**kwargs
**kwargs
用于接收可变数量的关键字参数,它把传入的所有关键字参数都放在一个字典中,而这个字典就是 kwargs
。以下是示例:
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Tom", age=20, gender="male")
在这个示例中,print_info
函数接收任意数量的关键字参数,并使用循环语句将它们都打印出来。输出如下:
name: Tom
age: 20
gender: male
args和*kwargs一起使用
有时候我们需要一个函数可以接收任意数量的位置参数和关键字参数,那么我们就可以使用 *args
和 **kwargs
一起使用。以下是示例:
def print_everything(*args, **kwargs):
for arg in args:
print(arg)
for key, value in kwargs.items():
print(f"{key}: {value}")
print_everything("this", "is", "a", "test", name="Tom", age=20)
在这个示例中,print_everything
函数接收任意数量的位置参数和关键字参数,并使用循环语句将它们都打印出来。输出如下:
this
is
a
test
name: Tom
age: 20
以上就是 Python 函数参数 *args
和 **kwargs
的使用方法。通过使用它们,我们可以编写更加灵活的函数,更好地满足各种需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python 函数参数*args和**kwargs - Python技术站