Python 的函数(二)

1. 函数参数的类型

在定义函数和调用函数时,函数的参数类型很重要;参数参数的类型有 必备参数、关键字参数、默认参数、不定长参数等等。

1.1 必备参数

必备参数要以正确的顺序传入函数;函数调用时实参的数量要和函数定义时形参一样。

例子1:
2021-7-27
注意: 必备参数要求形参和实参的对应关系严格,一要数量上要一致,二要求顺序上一致。

1.2 关键字参数

关键字参数和函数的调用关系密切,函数调用时使用关键字参数来确定传入的参数值;关键字参数许可函数调用时与声明时不一致,Python 解释器能够用参数名匹配参数值。

例子2:
2021-7-27
注意: 关键字参数不用考虑形参的顺序,也可得到相同的结果。

1.3 默认参数

定义函数时,可给某些形参设置默认值;在调用函数时,参数的值若没有传入,就会输出默认值

例子3:
2021-7-27
注意: 若参数没有默认值,实参也没有传入具体的值的话,就会报错。默认值必须赋给最后一个参数,否则会报错;也不要间隔。

例子4:
2021-7-27

1.4 不定长参数

在使用函数时,可能会需要一个函数能处理比当初定义时更多的参数;这些参数叫作 不定长参数,不定长参数的函数定义时,形参不会命名
语法如下:

def ble([args],*var):
    function_body
    return [expression]

星号(*)的变量名会存放所有未命名的变量参数

例子5:
2021-7-27
注意: *var,用来存放被调用时从实参传入的值;比较灵活,调用者不必再参数的个数和顺序上费时,但想处理某个具体的参数时,就没有前面几张方式简洁。

2. 匿名函数

在 Python 中可用 lambda 函数来创建匿名函数,lambda 函数是一个表达式,函数体比 def 简单;lambda 函数的主体是一个表达式,而不是一个代码块,仅能在 lambda 函数表达式中封装有限的逻辑进去。
lamdba 函数有自己的命名空间,且不能访问自由参数列表之外或全局命名空间里的参数。
语法如下:

lambda[[,args2,....args]]:expression

args:可选,通常是逗号分隔变量表达式的形式,即位置参数。
exprssion:不能包含分支或循环(允许条件表达式),也不能包含 return(或 yieid)函数。,若为元组,应用圆括号包含起来。
使用 lamdba函数需注意一下几点:

  • lambda 函数定义的是单行函数,若需要复杂的函数,应定义普通函数;
  • lambda 函数参数列表可包含多个参数,如 lamdba Y , Z : Y Z;
  • lambda 函数中的表达式不能含有命令,只限一条表达式。

例子6:
2021-7-27
2021-7-27

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值