python编程_匿名函数_lambda

主要内容:

  • 小目标:掌握匿名函数
  • 主要内容:匿名函数语法,匿名函数应用

如果看完这篇文章,你还是弄不明白匿名函数;
你来找我,我保证不打你,我给你发100的大红包。

1. 匿名函数

匿名函数语法:lambda 参数: 表达式

匿名函数:

  1. 匿名函数,没有名称的函数,用于实现简单的功能
  2. 匿名函数返回函数对象
  3. 匿名函数参数与其他函数一样
  4. 匿名函数中的表达式只能是一个表达式,调用后返回表达式的结果;

1.1 计算圆的面积:

def areaFunc(r):
    return r*r*3.14
area = areaFunc(10)
print(area)

结果:314

1.2 使用匿名函数

f = lambda r: r*r*3.14
print(f(10))

结果:314.0
分析:

lambda:关键字
r:参数
rr3.14:表达式
lambda r: rr3.14的返回值为函数对象
f为函数,直接调用返回rr3.14计算结果

简单理解:f指向一个函数对象。

2. 几个例子

  • 判断成绩是否及格,返回:Pass或者Failed

    ispass = lambda value: value > 59 and 'Pass' or 'Failed'
    print(ispass(70))
    print(ispass(59))

    结果:

    Pass
    Failed
  • 匿名函数与if...else...配合使用

    # if 表达式成立,返回'Pass',否则返回Failed
    ispass = lambda value: 'Pass' if value > 59 else 'Failed'
    print(ispass(70))
    print(ispass(59))

    结果:

    Pass
    Failed
  • 多个参数匿名函数
    f = lambda x, y, z=1: x + y + 1
    print(f(2,3))
    f = lambda x, y, *args: x + y + sum(args)
    print(f(2,3,4,5,6,7))

    结果:

    6
    27
  • 匿名函数使用场景:

    与列表解析配合使用
    与map等函数配合使用

总结

匿名函数比较简单,但是要注意,匿名函数只能有一个表达式,并且返回表达式的结果

猜你喜欢

转载自blog.51cto.com/huangyg/2512890
今日推荐