📅  最后修改于: 2023-12-03 14:50:38.491000             🧑  作者: Mango
在编写程序时,有时候我们需要一个函数能够接收不固定数量的参数,这个时候就可以使用可变参数函数了。
可变参数函数是指函数的参数个数是可变的,它能够接收任意数量的参数。在Python中,可以使用*args
和**kwargs
来实现可变参数函数。
*args
可变参数*args
表示接收任意数量的非关键字参数。在函数内部,args
是一个元组类型的变量,它包含所有传递给函数的非关键字参数。
def my_sum(*args):
result = 0
for num in args:
result += num
return result
print(my_sum(1, 2, 3)) # 输出6
print(my_sum(1, 2, 3, 4, 5, 6)) # 输出21
**kwargs
可变参数**kwargs
表示接收任意数量的关键字参数。在函数内部,kwargs
是一个字典类型的变量,它包含所有传递给函数的关键字参数。
def print_user_info(**kwargs):
print(kwargs)
print_user_info(name='Tom', age=18, gender='male') # 输出{'name': 'Tom', 'age': 18, 'gender': 'male'}
同时使用*args
和**kwargs
,可以接收任意数量的非关键字参数和关键字参数。
def print_info(*args, **kwargs):
print("非关键字参数:")
for arg in args:
print(arg)
print("关键字参数:")
for key, value in kwargs.items():
print(key, value)
print_info(1, 2, 3, name='Tom', age=18, gender='male')
# 输出
# 非关键字参数:
# 1
# 2
# 3
# 关键字参数:
# name Tom
# age 18
# gender male
可变参数函数是Python中非常常用的一个特性,它使得函数更加灵活、通用,避免定义多个函数来实现类似的功能。同时,也可以在参数个数不确定的情况下,为函数提供更多的可能性。