6.匿名函数

匿名函数

定义:

    匿名函数,即没有名字的函数
    Python中借助Lambda表达式构建匿名函数
    匿名函数,必须使用lambda关键字定义,只能写在一行上,也被称为单行函数
    用途:一般在高阶函数传参时,使用lambda表达式,往往能简化代码
 
 语法:
  lambda 参数列表:表达式
 使用lambda关键字来定义匿名函数
 参数列表不需要小括号
 冒号是用来分割参数列表和表达式的
 不需要使用return语句 表达式的值,就是匿名函数的返回值
#####冒号后面不可以有=和retrun


def add(x,y):
    return  x + y
#====================
add= lambda x,y:x+y

#上面2个是一样的,一个是普通函数定义,一个lambda函数定义的方式

lambda表达式基础练习

prin([lambda  x: x+1][0](2) )

#这个用列表定义了一个匿名函数的第0个元素,传参1,

print(lambda x:None)

#这个表示没有返回值 冒号后面不可以有=和retrun


print((lambda  x:100)('ggggg'))

#这个是恒定返回100,100是个常量


print(lambda :100)

#这个表示无参数,但是return返回值一样要填写.后面的小括号可以不写


print({x:y for x,y in (lambda  *args: map(lambda  x:(x+1,args),args))(*range(5))})

#首先看这个里面最后输出的一个元组类型。先看最右边的解构,0、1、2、3、4. 值先传到lambda表达式的*args,再到了第二个lambda表达式x即是0-4,里面的是一个元组,args还是解构的0-4,等到的结果是{1: (0, 1, 2, 3, 4), 2: (0, 1, 2, 3, 4), 3: (0, 1, 2, 3, 4), 4: (0, 1, 2, 3, 4), 5: (0, 1, 2, 3, 4)}


猜你喜欢

转载自blog.51cto.com/12121039/2384448