zoukankan      html  css  js  c++  java
  • (1)python中的lambda

    Lambda函数又称匿名函数,python中有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就可以使用lambda函数

     x和y是函数的两个参数,冒号后面的表达式是函数的返回值,你能一眼看出这个函数就是是在求两个变量的和,但作为一个函数,没有名字如何使用呢?这里我们暂且给这个匿名函数绑定一个名字,这样使得我们调用匿名函数成为可能。

     lambda使用场景,往往和序列有关:

    1.函数式编程

     2.Python中最常见的filter筛选、map小刷子、reduce合并,都可以用lambda表达式来生成!

    map(function,sequence):把sequence中的值当参数逐个传给function,返回一个包含函数执行结果的list。如果function有两个参数,即map(function,sequence1,sequence2)。

    filter(function,sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回。

     

    reduce(function,sequence):function接收的参数个数只能为2,先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给function,然后只返回一个结果。

     

    3.闭包
    闭包:一个定义在函数内部的函数,闭包使得变量即使脱离了该函数的作用域范围也依然能被访问到。

    这里的lambda函数就是一个闭包,在全局作用域范围中,a(5)可以正常执行且返回值为6。之所以返回6是因为在add局部作用域中,变量n的值在闭包的作用使得它在全局作用域也可以被访问到。
  • 相关阅读:
    盘子序列
    最大矩形面积
    【模板】ST表
    排队
    map循环遍历
    vue循环遍历给div添加id
    正则 匹配
    字符串拼接
    js对象追加到数组里
    二级标题左侧加粗线条
  • 原文地址:https://www.cnblogs.com/super-zheng/p/13212599.html
Copyright © 2011-2022 走看看