加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python匿名函数入门实例

发布时间:2020-12-17 07:09:27 所属栏目:Python 来源:网络整理
导读:对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 定义 匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。 lambda语法的定义如下: # @param Python匿名函数
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

定义

匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。

lambda语法的定义如下:


# @param Python匿名函数快速入门
# @author 编程之家 52php.cn|52php.cn 

lambda [arg1 [,arg2,... argN]] : expression

# End www.52php.cn

除了没有函数名,其语法与如下函数的定义相同。

匿名函数特点

1.不用取名称,因为给函数取名是比较头疼的一件事,特别是函数比较多的时候

2.可以直接在使用的地方定义,如果需要修改,直接找到修改即可,方便以后代码的维护工作

3.语法结构简单,不用使用def 函数名(参数名):这种方式定义,直接使用lambda 参数:返回值 定义即可

lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的。在Python中,lambda作为一个关键字,作为引入表达式的语法。想比较def函数,lambda是单一的表达式,而不是语句块!你仅能够在lambda中封装有限的业务逻辑,这样设计的目的:让lambda纯粹为了编写简单的函数而设计,def则专注于处理更大的业务。

与普通函数差异

普通函数:


# @param Python匿名函数快速入门
# @author 编程之家 52php.cn|52php.cn 

#普通函数,带俩参数的写法  
def add(x,y):  
    return x*y  
rs = add(10,20)  
print(rs)

# End www.52php.cn

匿名函数:


# @param Python匿名函数快速入门
# @author 编程之家 52php.cn|52php.cn 

#带有俩参数的匿名函数  
b = lambda x,y:x*y  
rs = b(10,20)  
print(rs)

# End www.52php.cn

实例


# @param Python匿名函数快速入门
# @author 编程之家 52php.cn|52php.cn 

#计算存放100个数字的列表的每一个数字的平方,返回一个新的列表  
print(list(map(lambda x:x*x,[x for x in range(100)])))

# End www.52php.cn

 

执行结果:


# @param Python匿名函数快速入门
# @author 编程之家 52php.cn|52php.cn 

[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]

# End www.52php.cn

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读