Python中的可变函数指的是可以接受任意数量参数的函数,并且可以操作这些参数。在Python中,通过在参数前使用*
与**
来定义可变参数。
*
定义的可变参数将被转化为tuple。
**
定义的可变参数将被转化为dict。
下面是可变函数的一个示例:
def add(*args):
sum = 0
for num in args:
sum += num
return sum
print(add(1, 2, 3))
上面的代码中,add
函数接受可变数量的参数,并将它们相加,最后返回结果。通过使用*args
,传入任意数量的参数,而无需指定具体数量的参数。
下面是另一个使用可变函数的示例:
def merge_dicts(*dicts):
result = {}
for d in dicts:
result.update(d)
return result
d1 = { 'a': 1, 'b': 2 }
d2 = { 'c': 3, 'd': 4 }
d3 = { 'e': 5, 'f': 6 }
print(merge_dicts(d1, d2, d3))
上面的代码中,merge_dicts
函数接受任意数量的字典参数,并将它们合并为一个字典。通过使用*args
,可以传入任意数量的参数,而无需指定具体数量的参数。而update
方法会将所有传递进来的字典合并为一个字典。
总之,可变函数的主要作用是可以接收可变数量的参数,在函数体内对这些参数实现操作。我们可以使用*
与**
来定义这样的函数,并在函数体内实现对这些参数的操作。这样可以更灵活地使用函数,在编写程序时也更加方便。