Python学习笔记010——匿名函数lambda
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的更多相关文章
- python 学习笔记2 匿名函数
# 匿名函数 lambda a,b : a+b# a.j.from functools import reduce students = [{'name': '张三', 'age': 18, 'hei ...
- Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...
- 记录我的 python 学习历程-Day13 匿名函数、内置函数 II、闭包
一.匿名函数 以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 课上练习: # 正常函数: def func(a, b): return a + b print(func(4, 6)) ...
- 『Python基础-14』匿名函数 `lambda`
匿名函数和关键字lambda 匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数 在Python中,如果要声匿名函数,则需要使用lambda关键字 使用lambda声明的匿名函数能接收任何 ...
- python学习笔记5-自定义函数
1 自定义函数 (1)函数代码块以def关键字开头,然后函数标识符名称和圆括号 (2)任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数 (3)函数的第一行语句可以选择性的使用文 ...
- python学习笔记12(函数三): 参数类型、递归、lambda函数
一.函数参数的类型 之前我们接触到的那种函数参数定义和传递方式叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,这个对参数的位置和个数都有严格的要求.而在Python中还有一种是通过参 ...
- python学习笔记4-内置函数、匿名函数、json处理
print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 print(bin(10))#十 ...
- python 学习笔记6(函数)
函数 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 1.减少代码重复 2.保持代码的一致性 3.方便修改,可扩展性 函数的创建 #简单 ...
- Python学习笔记总结(二)函数和模块
一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句 例子 Calls myfunc(‘diege', ...
随机推荐
- go语言基础之随机数的使用
1.随机数的使用 示例1: 如果种子参数一样,每次运行程序产生的随机数都一样 package main //必须有个main包 import "fmt" import &quo ...
- FPGA三段式状态机的思维陷阱
用三段式描述状态机的好处,国内外各位大牛都已经说的很多了,大致可归为以下三点: 1.将组合逻辑和时序逻辑分开,利于综合器分析优化和程序维护; 2.更符合设计的思维习惯; 3.代码少,比一段式状态机更简 ...
- SQL中以count或sum为条件的查询方式
在开发时,我们经常会遇到以“累计(count)”或是“累加(sum)”为条件的查询.比如user_num表: id user num 1 a 3 2 a 4 3 b 5 4 b 7 例1:查询出现 ...
- IE浏览器报Promise未定义的错误、解决vuex requires a Promise polyfill in this browser问题
一个vue-cli构建的vue项目,一个使用angular的项目,两个项目在其他浏览器一切正常,但是ie中会报Promise未定义的错误 解决办法: 一.vue的项目: 1.npm install b ...
- 刚開始学习的人非常有用:纯struts框架实现用户登陆
本人新手一枚.也在学习ssh.高手建议从struts2開始学起,所以我就先仅仅用struts2写了一个demo.能够有助于理解struts2在项目中的作用. 首先简单了解一下struts2 的MVC模 ...
- DockPanel 类
DockPanel 类 .NET Framework 4.5 其他版本 此主题尚未评级 - 评价此主题 定义您可水平或垂直排列子元素的区域,互相. 继承层次结构 System.Obje ...
- [Angular-Scaled web] 2. Architecture sub-modules
Common models will be a sub models for category and bookmarks. Because they are used everywhere. For ...
- 【nodejs】修改了下对股票表进行crud操作的代码
表是这样的: id是自增长字段,code和name都是255位的varchar. 下面是主角app.js的代码: 'use strict'; var express=require('express' ...
- (LeetCode 78)SubSets
Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be ...
- TextView跑步灯效果及在特殊情况下无效的解决方式
概述: 关于在TextView中使用跑马灯效果的样例在网上一搜一大把.他们可能会让你像以下这样来在xml中定义TextView控件的属性.而事实也确是如此. 只是我不知道他们有没有遇到和我一样的问题( ...