1 返回函数
闭包的作用:
https://www.cnblogs.com/JohnABC/p/4076855.html
闭包=函数块+定义函数时的环境,adder就是函数块,x就是环境,当然这个环境可以有很多,不止一个简单的x。
image.png
练习:利用闭包返回一个计数器函数,每次调用它返回递增整数:
def createCounter():
a=[0]
def counter():
a[0]=a[0]+1
return a[0]
return counter
counterA=createCounter()
print(counterA(),counterA(),counterA(),counterA())
运行结果:
image.png2 匿名函数
规则:只能有一个表达式,不用谢return,返回值就是该表达式的结果。
匿名函数好处:函数没名字,不用担心函数名冲突。
匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量调用该函数。
image.png
练习:
请用匿名函数改造下面的代码:
def is_odd(n):
return n % 2 == 1
L = list(filter(is_odd, range(1, 20)))
改造后:
L = list(filter(lambda x:x%2==1, range(1, 20)))
print(L)
网友评论