当函数定义时,有时候我们不确定需要传入多少个参数。在这种情况下,我们可以使用可变参数函数。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 中可变参数函数的基本用法和例子。在实际开发中,可变参数函数非常常用,可以极大地提高代码的灵活性和适用性。