从零开始 - Python基础 (七) 匿名函数

匿名函数

定义

匿名函数是指在python中使用lambda来创建函数,称之为匿名函数

创建函数不在使用def创建,而是使用lambda关键字创建一个形式主义的函数

匿名函数的定义

格式

lambda 参数1,参数2,参数3... : 单行表达式  或者  函数调用

匿名函数的作用

  1. 可以通过匿名函数来实现标准函数的功能

  2. 可以作为一个函数的参数进行传递,将一个函数当成另一个函数的参数传递进另一个函数,这个做法在C#或其他技术中叫做委托

  3. (全局变量)一个函数只要被声明了,肯定在内存中存放好了,程序运行函数即被创建,内存被分配。直到整个文件执行结束才会被处理

    使用匿名函数传递只有当这个函数被传递的时候开始创建,内存分配,这个函数执行完毕,匿名函数就会像局部变量一样只在这个函数内部存在,函数执行完毕,匿名函数也被释放

匿名函数的特点

  1. 匿名函数本质是一个表达式,不是代码块
  2. 匿名函数只能写一行代码
  3. 使用关键字lambda
  4. 如果有返回值数据则不需要书写return关键字
  5. lambda的函数要比def函数简单的多
    1. lambda中不能使用if语句、while语句、for循环,但是可以使用单行的表达式或函数调用
    2. lambda的返回结果不需要使用return
  6. lambda只能写一行,lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去

本质

函数本质是一个代码块集合,而函数名的作用是针对代码块集合的一个引用

函数名可以理解为一个变量,这个变量里面引用的是函数主体所有代码

列表推导式

作用

轻量级循环创建列表(快速的创建一个有规律的列表)

高阶函数

map/reduce/filter

map用法

map会根据提供的函数对指定序列做映射

方法中第一个参数是function,以参数序列中的每一个元素进行调用该function函数,最终返回一个map对象

这个map对象其本质是每个元素执行完function之后由重新组成的列表

reduce用法

reduce函数会对参数序列中元素进行累计

函数将一个数据集合中的所有数据进行下列操作:

 		1. 用传递的reduce中的函数function(有两个参数),先对集合中的第1、2个元素进行操作
      	2. 得到的结果再与第三个数据用function函数运算,最后得到一个结果

filter用法

filter方法用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象,如果要转换为列表可以使用list()来转换

该方法接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或False,最后将返回True的元素放到新的序列中

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值