一、形参
形式变量,只在函数体内有效,函数调用结束返回主调用函数后则不能再使用该形参变量
二、实参
可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先给实参赋值
def calc(x,y): #此时的x,y就是形参
res = x*y
return res
n = res(a,b) #这里的a,b是实参
print(n)
三、位置参数
按照参数的位置把形参和实参对应起来
同上代码,如果形参有三个x,y,z,但实参只有a,b两个程序会报错,位置参数对不上
四、默认参数
在函数名定义参数的时候赋上值就是默认参数
默认参数必须写在最后面,位置参数在前,默认参数在后,
五、关键参数
正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可(指定了参数名的参数就叫关键参数)
关键参数必须放在位置参数(以位置顺序确定对应关系的参数)之后
优先级:位置参数>关键参数默认参数
六、非固定参数
在定义函数时,不确定后面调用时会仁慈多少个参数进来
*args #输出元组()
**kwargs #输出字典 {}
注意:设置形参的时候要带*号,但在调用的时候不需要*号
**kwargs传的是关键参数
*args传的是位置参数
例:
def register(name,*args,**kwargs):
print(name,args,kwargs)
register("Alex",22,"Math",sex="M")
>>>Alex ('22','Math') {'sex':'M'}