• (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的值在闭包的作用使得它在全局作用域也可以被访问到。
  • 相关阅读:
    Visual Studio 正则表达式替换
    NHibernate MappingException. No Persister
    C#枚举
    测试
    NHibernate & INotifyPropertyChanged
    NHibernate Profiler使用方法
    根据条件动态拼接LinQ的where条件字串
    wpf中ToolTip实现
    jquery的colorbox关闭并传递数据到父窗
    c#简易反射调用泛型方法
  • 原文地址:https://www.cnblogs.com/super-zheng/p/13212599.html
Copyright © 2020-2023  润新知