理解python多个参数*args

Posted nerocm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解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)

  

以上是关于理解python多个参数*args的主要内容,如果未能解决你的问题,请参考以下文章

Python argparse 可选 arg 需要其他参数

Python*args和**kwargs的区别

理解 Python 中的可变参数 *args 和 **kwargs:

21天学习python编程_函数参数,理解 *args和**kwargs

Python代码中func(*args, **kwargs)是啥意思

Python:a,*args,**kwargs的理解