理解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)

  

posted @ 2019-05-31 12:53  nerocm  阅读(3599)  评论(0编辑  收藏  举报