理解python多个参数*args
解释背景
在定义一个函数功能的时候,通常也定义了函数的参数。如加法函数 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)