盘点Python中的*args和**kwargs

在深入学习和探索了不定参数后,写篇文章记录下,方便后续复习。

在定义函数的时候当有多个参数或者不确定传进来的参数有多少的时候,这里我们会选择不定参数来处理,这里先区分下*args和**kwargs之间的区别 ,*args是指的值不带key,然后值的数量未知 ;**kwargs则是数量未知,但是一一对应关系是已知的,以字典在传输。

*args 适用在参数数量未知的情况下,一般是类似数组传入

def test(a,b,*param):
    print("the a is :\n",a)
    print("the b is:\n",b)
    print("the c is:\n",param)

调用方法如下 :

这里就是按照参数个数来划分,由于在函数定义的时候,a,b是固定的,则按照顺序取了a,b ,后面的则全部丢给param ,返回的是以tuple进行打包

盘点Python中的*args和**kwargs_第1张图片

**kwargs 适用于参数以字典形式赋值,然后要转成字典传输 

def test(a,b,**param):
    print("the a is :\n",a)
    print("the b is:\n",b)
    print("the c is:\n",param)

调用方法如下:

盘点Python中的*args和**kwargs_第2张图片

 

你可能感兴趣的:(python学习笔记)