当前位置:
首页 > Python基础教程 >
-
Python匿名函数快速入门
定义
匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。
lambda语法的定义如下:
1
|
lambda [arg1 [,arg2, ... argN]] : expression |
除了没有函数名,其语法与如下函数的定义相同。
匿名函数特点
1.不用取名称,因为给函数取名是比较头疼的一件事,特别是函数比较多的时候
2.可以直接在使用的地方定义,如果需要修改,直接找到修改即可,方便以后代码的维护工作
3.语法结构简单,不用使用def 函数名(参数名):这种方式定义,直接使用lambda 参数:返回值 定义即可
lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的。在Python中,lambda作为一个关键字,作为引入表达式的语法。想比较def函数,lambda是单一的表达式,而不是语句块!你仅能够在lambda中封装有限的业务逻辑,这样设计的目的:让lambda纯粹为了编写简单的函数而设计,def则专注于处理更大的业务。
与普通函数差异
普通函数:
1
2
3
4
5
|
#普通函数,带俩参数的写法 def add(x,y): return x * y rs = add( 10 , 20 ) print (rs) |
匿名函数:
1
2
3
4
|
#带有俩参数的匿名函数 b = lambda x,y:x * y rs = b( 10 , 20 ) print (rs) |
实例
1
2
|
#计算存放100个数字的列表的每一个数字的平方,返回一个新的列表 print ( list ( map ( lambda x:x * x,[x for x in range ( 100 )]))) |
执行结果:
1
|
[ 0 , 1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 , 81 , 100 , 121 , 144 , 169 , 196 , 225 , 256 , 289 , 324 , 361 , 400 , 441 , 484 , 529 , 576 , 625 , 676 , 729 , 784 , 841 , 900 , 961 , 1024 , 1089 , 1156 , 1225 , 1296 , 1369 , 1444 , 1521 , 1600 , 1681 , 1764 , 1849 , 1936 , 2025 , 2116 , 2209 , 2304 , 2401 , 2500 , 2601 , 2704 , 2809 , 2916 , 3025 , 3136 , 3249 , 3364 , 3481 , 3600 , 3721 , 3844 , 3969 , 4096 , 4225 , 4356 , 4489 , 4624 , 4761 , 4900 , 5041 , 5184 , 5329 , 5476 , 5625 , 5776 , 5929 , 6084 , 6241 , 6400 , 6561 , 6724 , 6889 , 7056 , 7225 , 7396 , 7569 , 7744 , 7921 , 8100 , 8281 , 8464 , 8649 , 8836 , 9025 , 9216 , 9409 , 9604 , 9801 ] |
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式