Python匿名函数入门实例

前端之家收集整理的这篇文章主要介绍了Python匿名函数入门实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

定义

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

lambda语法的定义如下:


# @param Python匿名函数快速入门
# @author 编程之家 jb51.cc|jb51.cc 

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

# End www.jb51.cc

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

匿名函数特点

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

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

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

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

与普通函数差异

普通函数


# @param Python匿名函数快速入门
# @author 编程之家 jb51.cc|jb51.cc 

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

# End www.jb51.cc

匿名函数


# @param Python匿名函数快速入门
# @author 编程之家 jb51.cc|jb51.cc 

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

# End www.jb51.cc

实例


# @param Python匿名函数快速入门
# @author 编程之家 jb51.cc|jb51.cc 

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

# End www.jb51.cc

 

执行结果:


# @param Python匿名函数快速入门
# @author 编程之家 jb51.cc|jb51.cc 

[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.jb51.cc

猜你在找的Python相关文章