📜  可变参数函数 (1)

📅  最后修改于: 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中非常常用的一个特性,它使得函数更加灵活、通用,避免定义多个函数来实现类似的功能。同时,也可以在参数个数不确定的情况下,为函数提供更多的可能性。