1 语法

my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1

arg1、arg2:参数

arg1 + arg2 + 1 :表达式

2 描述

匿名函数不需要return来返回值,表达式本身结果就是返回值。

lambda 仅简洁了代码,并不会提高程序运行效率

如果可以用 for...in...if 来完成的,最好不使用匿名函数lambda

使用lambda时,函数内不要包含循环、嵌套;如果存在,则最好使用def函数来完成,这样的代码可读性和复用性均较高

lambda用来编写简单的函数,而def用来处理更强大的任务。

3 示例

3.1 无参数的匿名函数

>>> a = lambda:5
>>> a
<function <lambda> at 0x7f20f53be2f0>
>>> a()
5
>>> 

3.2 单个参数的匿名函数

a = lambda x:x+1
print(a(2))

运行: 3

3.3 多参数的匿名函数

a = lambda x, y: x + y + 1
print(a(1,2))
print(a(y=3,x=2))

运行:

4
6

3.4 其他

 >>> lambda x:x+1(1)
 <function <lambda> at 0x7f20f4cfb9d8>

有的博客上说输入第一行可以直接得到结果,其实仅仅得到了匿名函数的地址(十六进制)

>>> lambda x:x+1(1)
<function <lambda> at 0x7f20f4cfb9d8>

>>> id(lambda x:x+1(1))
139779554729768
>>> hex(id(lambda x:x+1(1)))
'0x7f20f4cfb9d8'

如果需要获得函数值,则

>>> (lambda x:x+1)(1)
2

同样

print(lambda x:x+1(1))    # <function <lambda> at 0x7fa097b54f28>

计算

(lambda x : (lambda y: (lambda z: x + y + z)(1))(2))(3)

等于多少?  6

参考python的匿名函数lambda解释及用法Python学习笔记(十二):lambda表达式与函数式编程Python lambda介绍

Python学习笔记010——匿名函数lambda的更多相关文章

  1. python 学习笔记2 匿名函数

    # 匿名函数 lambda a,b : a+b# a.j.from functools import reduce students = [{'name': '张三', 'age': 18, 'hei ...

  2. Python学习笔记之常用函数及说明

    Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...

  3. 记录我的 python 学习历程-Day13 匿名函数、内置函数 II、闭包

    一.匿名函数 以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 课上练习: # 正常函数: def func(a, b): return a + b print(func(4, 6)) ...

  4. 『Python基础-14』匿名函数 `lambda`

    匿名函数和关键字lambda 匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数 在Python中,如果要声匿名函数,则需要使用lambda关键字 使用lambda声明的匿名函数能接收任何 ...

  5. python学习笔记5-自定义函数

    1 自定义函数  (1)函数代码块以def关键字开头,然后函数标识符名称和圆括号  (2)任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数  (3)函数的第一行语句可以选择性的使用文 ...

  6. python学习笔记12(函数三): 参数类型、递归、lambda函数

    一.函数参数的类型 之前我们接触到的那种函数参数定义和传递方式叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求.而在Python中还有一种是通过参 ...

  7. python学习笔记4-内置函数、匿名函数、json处理

    print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 print(bin(10))#十 ...

  8. python 学习笔记6(函数)

    函数 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 1.减少代码重复 2.保持代码的一致性 3.方便修改,可扩展性 函数的创建 #简单 ...

  9. Python学习笔记总结(二)函数和模块

    一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句        例子 Calls        myfunc(‘diege', ...

随机推荐

  1. [leetcode]Binary Tree Preorder Traversal @ Python

    原题地址:http://oj.leetcode.com/problems/binary-tree-preorder-traversal/ 题意:这题用递归比较简单.应该考察的是使用非递归实现二叉树的先 ...

  2. 基于json的jquery地区联动探索

    贴一个基于jquery联动的代码,相信这样的代码有一大把,就当是jquery的练手吧, 写这个东西的初衷是来之于新浪微博,在新浪微博帐号设置里面有个地区的选项,使用js写的,想把它的代码给截获下来,可 ...

  3. IOS程式语法之block的使用掌握

    在现阶IOBlock 是iOS在4.0之后新增的程式语法,严格来说block的概念并不算是基础程式设计的范围,对初学者来说也不是很容易了解,但是在iOS SDK 4.0之后,block几乎出现在所有新 ...

  4. 浅议 android下的context

    android学习中,最开始学习的一个类是activities,你是否知道他与context之间 的关系,我们经常用startactivities来唤起一个activities他的定义有在哪里了,他是 ...

  5. scala多线程

    object Test { def main(args: Array[String]) { //创建线程池 val threadPool:ExecutorService=Executors.newFi ...

  6. Eclipse 创建文件快捷菜单、避免格式化时自动换行、.properties文件中文乱码、在线安装FreeMarker

    创建文件快捷菜单设置 打开窗口“Customize Perspective - Java EE”,切换选项卡到“Shortcuts”: 进行一下配置: “Generate”:如上图勾选方式 " ...

  7. [转] 公司局域网中代码访问 github.com

    一. 文档清晰 tencent同事.推荐 https://www.chenyudong.com/archives/use-git-or-github-in-company-local-net.html

  8. (转)NGUI类关系图

  9. mybatis的mapper返回map结果集(springboot)

    通过MapKey指定map的key值 @MapKey("id") Map<Long, UserInfo> getUserInfoMap(); @MapKey(" ...

  10. 【android】模拟点击某个指定坐标作用在View上

    /** * 模拟点击某个指定坐标作用在View上 * @param view * @param x * @param y */ public void clickView(View view,floa ...