Python入门篇-匿名函数

                                      作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.匿名函数概述

1>.什么是匿名函数

  匿名,即没有名字    匿名函数,即没有名字的函数

2>.匿名函数编写格式

  Python借助Lambda表达式构建匿名函数
  匿名函数格式如下:lambda 参数列表:表达式

3>.匿名函数注意事项

(1)使用lambda关键字来定义匿名函数(2)参数列表不需要小括号(3)冒号是用来分割参数列表和表达式的(4)不需要使用return,表达式的值,就是匿名函数返回值(5)lambda表达式(匿名函数)只能写在一行上,被称为单行函数(6)匿名函数用途:在高阶函数传参时,使用lambda表达式,往往能简化代码

二.匿名函数定义

1>.匿名函数的定义和调用

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 #@author :yinzhengjie
 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
 5 #EMAIL:y1053419035@qq.com
 6
 7
 8 l1 = lambda x : x ** 2          #使用lambda关键字定义匿名函数,我们可以给它复制给一个变量
 9
10 res = l1(5)                     #调用匿名函数
11
12 print(res)
13
14 print((lambda x:x **2)(5))      #当然,上面3行代码我们可以写成一行哟~
15
16
17
18 #以上代码执行结果如下:
19 25
20 25

2>.不推荐使用的匿名函数案例

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 #@author :yinzhengjie
 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
 5 #EMAIL:y1053419035@qq.com
 6
 7 foo = lambda x,y :(x + y) ** 2      #定义一个匿名函数,我们给它复制给一个变量,其实我们并不推荐这样使用
 8
 9 print("foo:{}".format(foo(10,20)))  #调用我们定义的匿名函数
10
11
12 def bar(x,y):                       #我们不推荐使用上面的方法,而是建议使用普通函数定义比价复杂的功能
13     return (x + y) ** 2
14
15 print("bar:{}".format(bar(10,20)))
16
17
18 #以上代码执行结果如下:
19 foo:900
20 bar:900

3>.一些简单的匿名函数案例

 1 #!/usr/bin/env python
 2 #_*_coding:utf-8_*_
 3 #@author :yinzhengjie
 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
 5 #EMAIL:y1053419035@qq.com
 6
 7 print((lambda :0)())
 8
 9 print((lambda x, y=3: x + y)(5))
10
11 print((lambda x, y=3: x + y)(5, 6))
12
13 print((lambda x, *, y=30: x + y)(5))
14
15 print((lambda x, *, y=30: x + y)(5, y=10))
16
17 print((lambda *args: (x for x in args))(*range(5)))
18
19 print((lambda *args: [x+1 for x in args])(*range(5)))
20
21 print((lambda *args: {x+2 for x in args})(*range(5)))
22
23 print([x for x in (lambda *args: map(lambda x: x+1, args))(*range(5))])
24
25 print([x for x in (lambda *args: map(lambda x: (x+1,args), args))(*range(5))])
26
27
28
29 #以上代码执行结果如下:
30 0
31 8
32 11
33 35
34 15
35 <generator object <lambda>.<locals>.<genexpr> at 0x000000000221D5C8>
36 [1, 2, 3, 4, 5]
37 {2, 3, 4, 5, 6}
38 [1, 2, 3, 4, 5]
39 [(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))]

转载于:https://www.cnblogs.com/yinzhengjie/p/10961825.html

Python入门篇-匿名函数相关推荐

  1. Python入门篇-生成器函数

    Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...

  2. Python入门篇-functools

    Python入门篇-functools 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.partial方法 1>.partial概述 偏函数,把函数部分的参数固定下来,相当 ...

  3. Python入门篇-高级数据类型集合(set)和字典(dict)

    Python入门篇-高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.集合(set) 1>.集合的特点 约定set 翻译为集合c ...

  4. python中匿名函数的作用_什么是Python中的匿名函数

    匿名函数 lambda x , y : x+y 1.匿名的目的就是要没有名字,给匿名函数赋给一个名字是没有意义的. 2.匿名函数的参数规则.作用域关系与有名函数是一样的. 3.匿名函数的函数体通常应该 ...

  5. python中的匿名函数_python匿名函数

    文章导读: 以前自己一直没搞明白Python中的匿名函数,现在拿这个问题基本上搞明白了,拿自己的理解整成一篇文章,附带大量例子,让其更加好理解. 在编程语言中,函数的应用: 1. 代码块重复,这时候必 ...

  6. Python入门篇-数据结构堆排序Heap Sort

    Python入门篇-数据结构堆排序Heap Sort 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.堆Heap 堆是一个完全二叉树每个非叶子结点都要大于或者等于其左右孩子结点的 ...

  7. Python中的匿名函数和函数式编程

    Python中的匿名函数和函数式编程 文章目录 Python中的匿名函数和函数式编程 一.匿名函数 匿名函数的格式: 二.函数式编程 map() filter() reduce() 区别 三.'三目运 ...

  8. python代码:匿名函数lambda、列表解析list comps

    python代码:匿名函数lambda.列表解析list comps 书<Python核心编程(第二版).pdf>,作者:Wesley J. Chun #!/usr/bin/python ...

  9. matlab匿名函数求导,MATLAB中的匿名函数和Python中的匿名函数

    在MATLAB和Python中都有一个叫做匿名函数的东西,在这里对比一下. 一. MATLAB中这样来定义一个匿名函数: f = @(x1, x2, ...) exper @后面的括号里面是自变量,然 ...

最新文章

  1. 安装 oracle-xe,CentOS上安装Oracle XE指南
  2. All in All,( UVa, 10340 )
  3. C# string类型和byte[]类型相互转换
  4. cvs svnmanager
  5. Tensorboard --logdir=logs 无法显示图像的处理办法
  6. JavaScript 条件语句和循环语句
  7. Android开发心得-使用File ExPlorer无法访问系统内部文件
  8. php增加vip等级设置,xiu主题添加vip等级评论样式
  9. Flutter进阶第11篇: 调用原生硬件Api实现扫码 扫描条形码 扫描二维码
  10. 190421每日一句
  11. 【SpringBoot_ANNOTATIONS】属性赋值 01 @Value赋值
  12. vue 一直显示数据加载中的解决方案之一
  13. heic图片格式转换jpg_如何在Mac上通过简单方法将HEIC图像转换为JPG
  14. 计算机5克,C盘莫名其妙少了5个多G,这是怎么回事??
  15. 大数据开发岗面试30天冲刺 - 日积月累,每日五题【Day01】——Hive1
  16. 练习2-3 输出倒三角图案
  17. 108颗佛珠的含义,每颗佛珠都有含义
  18. MosMedData: 新冠肺炎胸部 CT扫描数据集上基于3D-CNN实现二分类
  19. Android Google地图接入(二)
  20. 基于阿木实验室P200飞行器simulink模型开发的多旋翼无人机自抗扰控制器(ADRC)参数调整和仿真

热门文章

  1. 【把握未来】一文总结5G边缘计算的价值机遇
  2. SAP WM 采购订单收货后LT06报错-Allowed storage unit types not defined for storage type Z03-
  3. SAP MM 初阶之不常用事务代码MEBV
  4. SAP MM初阶之服务采购订单
  5. SAP RETAIL 我的第一个寄售类型的跨公司采购订单
  6. 强化学习在机器人装配工艺中的应用
  7. 美国劳工统计局使用机器学习自动执行数据编码
  8. 感恩节里我成了一个不解风情的爸爸
  9. Error(s) in loading state_dict
  10. “传统”遥感遇上AI,会产生怎样的效果?