python之函数参数
一、形式参数(形参)
1)函数创建和定义的时候小括号里的参数
2)形参在函数定义的时候不需要赋值,形参就是占坑的变量
3)def 函数名(a,b,c):此处a、b、c就是形参
二、实际参数(实参)
1)函数在调用的时候传入的参数就是实参
2)函数名(a,b,c):此处a、b、c就是实参
三、位置参数
1)在函数定义的时候指定
2)位置参数就是参数之间的关系,形参与实参的数量、顺序、数据类型必须一一对应,否则会报错
3)def 函数名(a,b,c):此处a、b、c就是位置参数
四、关键字参数
1)函数调用的时候使用关键字参数,给参数名指定需要赋值的参数
2)函数调用的时候使用关键字参数,参数的位置可以不需要一一对应
3)函数名(b=1,a=2,c=3):此处b=1,a=2,c=3就是关键字参数
五、默认参数
1)函数定义的时候指定,给参数一个默认值
2)在函数调用的时候,如果该默认参数传入了实参,就使用实参的值进行操作,如果没有传入实参,那就使用该参数本身的默认值进行操作
3)def 函数名(a,c=3):此处c就为默认参数,调用如下:函数名(4)/函数名(4,1)
六、不定长参数
1)长度不固定
2)*args:接收所有的位置参数,args是元组类型数据
3)**kwargs:接收所有的关键字参数,kwargs是字典类型数据
4)不定长参数在函数调用的时候,传入的实参使用:*变量以及**变量,是一个拆包的过程。
*变量:变量一般为list和tuple,**变量:变量一般为字典
arg = [1,2,3,4]
kw = {"age":18,"name":"hel"}
函数名(a,*arg,**kw) :此处调用就是 函数名(a,1,2,3,4,age=18,name="hel")
七、总结
1、默认参数与关键字参数的区别
关键字参数是在函数调用的时候给参数名指定需要赋值的参数,这样做就不怕在函数调用的时候因弄不清楚参数的顺序而出错了,
而默认参数是在函数定义的时候,给形参赋初始值,当函数调用时,不传入实参,函数就用使用该形参的默认值进行操作。
2、不管什么时候,位置参数都是在最前面的,默认参数,关键字参数,不定长参数必须都在位置参数的后面。
3、函数调用的时候,不能给参数赋多个值,否则会报错。