解释背景
在定义一个函数功能的时候,通常也定义了函数的参数。如加法函数 add(x,y),其表示x+y。
解释:给add函数传递两个任意值时,其结果是x+y 的和。
但是,有时候为了进行函数扩展,可能出现x+y+z+*****。多个一起运算的时候,用传统add(x,y,z,,,,,) 显得不方便,定义时也十分麻烦。
以此,简化为一个*a 这样一个特殊参数来表示
等同于 add(*a) = add(x,y,z,,,,)
而此时的a是包名,里面包含了很多参数变量,而不再是一个单纯的参数变量
形象化 list a = [x,y,z,,,,]
实际应用,比如定义一个加法函数add(),这样实现参数不确定性 扩展。
#coding "utf-8"
def add(*args):
sum =0
for i in args:
sum+=i
return sum
#为add函数可以多个数值进行相加,因此传入参数改为‘不定参数’,即输入任意
#实例 sum1, 让三个数相加。将1,2,3三个数合并成一个包传给args。
sum1 = add(1,2,3)
print(sum1)
#实例 sum2, 让三个数相加扩展。将1,2,3,4,5 五个数合并成一个包传给args。
sum2 = add(1,2,3,4,5)
print(sum2)