匿名函数
1、什么是匿名函数?
之前我们学过函数,以及函数的各种使用方法.
def foo():
print("hello world")
foo() # 通过函数名访问该函数的对象的内存地址,加括号调用该函数
foo()
像这种函数就是有名函数,我们就可以通过函数名来重复的调用这个函数,
那匿名函数我们就可以通过字面意思来理解就是没有名字的函数。
它的特点就是没有名字,定义完就直接使用,这次用完以后就不用了。
2、匿名函数能解决那些问题?
因为匿名函数没有名字,所以不必担心函数名冲突
通常我们会将匿名函数结合Python中的某些内置函数一起使用
匿名函数也是一个函数对象,也可以把匿名函数赋值给一个函数对象
3、怎么使用匿名函数?
我们使用有名函数是先定义再调用,那么匿名函数怎么弄呢
def func(x,y):
preturn x+y
func(1,2) # 通过函数名访问该函数的对象的内存地址,加括号调用该函数
# 将有名函数转换成匿名函数
a = lambda x,y:x + y
print(a(1,2)) # 通过一个变量调用
那通过以上操作我们能知道匿名函数的简单用法,但是在实际的运用该怎么操作呢,那接下来就结合几个简单Python内置函数来使用这个匿名函数。
1、计算存放100个数字的列表的每一个数字的平方,返回一个新的列表
l1 = map(lambda x:x*x, [x for x in range(100)])
l1 = list(l1)
print (l1)
2、从以下列表中找出能被3整除的数字
data = [1, 2, 4, 67, 85, 34, 45, 100, 456, 34]
print(list(filter(lambda x: x % 3 == 0, data)))
4、总结
1、匿名函数不需要名字
2、匿名函数的参数规则、作用域关系与有名函数是一样的
3、匿名函数的函数体是一个表达式,该表达式必须要有一个返回值
作者信息
Sean
Stay hungry,Stay foolish.

浙公网安备 33010602011771号