python中可变参数函数

  • Post category:Python

当函数定义时,有时候我们不确定需要传入多少个参数。在这种情况下,我们可以使用可变参数函数。Python 中,可变参数函数可以接受不定量的参数,包括不定数量和不定类型的参数。在函数内部,将会以元组(tuple)或字典(dict)的形式进行处理。

使用 *args 接收不定数量的参数

在函数定义时,使用一个 * 号将所有额外的参数收集到一个 tuple 中,并将此元组作为函数的参数进行处理,这就是使用 *args 的方式。

代码示例:

def add(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(add(1, 2, 3, 4, 5))

解释:

在这个示例中,我们定义了一个 add 函数,并使用 *args 参数接收传入的不定数量的参数。然后使用 for 循环遍历 args 元组,将其进行加和计算,最后返回结果。在调用 add 函数时,我们传入了 5 个参数(1,2,3,4,5),因此函数将会返回 15。

使用 **kwargs 接收不定类型的参数

如果我们需要接收不定数量和不定类型的参数,我们可以使用 **kwargs 的方式,这将会获得一个字典(dict)形式的参数。

代码示例:

def print_student(**kwargs):
    for key, value in kwargs.items():
        print(key + ':' + value)

print_student(name='Alice', age='18', score='90')

解释:

在这个示例中,我们定义了一个 print_student 函数,并使用 **kwargs 参数接收传入的不定数量和不定类型的参数。然后,我们使用 for 循环遍历 kwargs 字典,将其键值对进行拼接,并打印输出。在调用 print_student 函数时,我们以键值对的形式传入了 3 个参数(name=’Alice’, age=’18’, score=’90’),因此函数将会输出:name:Alice,age:18,score:90。

以上就是 Python 中可变参数函数的基本用法和例子。在实际开发中,可变参数函数非常常用,可以极大地提高代码的灵活性和适用性。