根据穆雪峰老师Python3学习教程来学习的心得的体会
在这次的学习中,有一个问题难住了我几分钟:
def build(x, y):
return lambda: x * x + y * y
这是一段匿名函数学习中的问题,原来这段也是个闭包。外函数和内函数,外函数返回结果有内函数,并且内函数得到的是一个代码块,并不是内函数的返回结果,所以这是一个闭包,需要这样处理得到结果:
def build(x, y):
return lambda: x * x + y * y
L=build(1,2)
print(L())
第一步,给build函数赋值参数1,2,并得到返回值内函数lambda: x * x + y * y
,把这个内函数赋值给变量L。第二步,调用这个内函数L()
,第三部,在自己的编程软件上显示出来出来(我的是sublime)print(L())