函数(二)
一.形参和实参
def fn(x,y):
print()
fn(a,b)
其中函数定义中的x,y是形参,用来接收外界的值,a,b是实参,,可以是常量、变量、以及表达式或三者的组合
注:形参随着函数的调用而产生,随着调用结束而停止。
二.实参的分类
位置实参:必须按照顺序给形参传值
关键词实参:按照关键词给形参传值,可以无视形参的顺序。
三.形参的分类
位置形参:位置与关键词的实参皆可以为其赋值(关键字必须对应形参的名)
默认形参:位置与关键词的实参皆可以为其赋值,也可以不赋值,参数为其默认值
可变长位置形参:接收位置形参,默认形参后溢出的位置实参
有初始关键词形参:只能接收关键词传值,也可以不传值
无初始关键词形参:只能接收关键词传值
可变长关键词形参:接收上面两种溢出后的关键词实参
四.形参的先后顺序
位置形参 - 默认形参 - 可变长位置形参 - 无|有初值关键字形参 - 可变长关键字参数
def fn(a, b, c=10, *args, d, e=20, f, **kwargs):
pass
# 位置形参:a、b
# 默认形参:c
# 可变长位置形参:args
# 无初值关键字形参:d、f
# 有初值关键字形参:e
# 可变长关键字参数:kwargs