python返回函数与匿名函数
返回函数
函数作为结果值返回
# def lazy_sum(*args): # def sum(): # ax = 0 # for n in args: # ax = ax + n # return ax # return sum # f1=lazy_sum(1,2,3) # f2=lazy_sum(4,5,6) # print(f1()) # print(f2())

直接调用函数lazy_sum()并不会返回求和结果而是返回求和函数
调用函数f时,才真正计算求和的结果
我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”的程序结构拥有极大的威力。
匿名函数
匿名函数lambda x: x * x
关键字lambda表示匿名函数,冒号前面的x表示函数参数。
匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果
浙公网安备 33010602011771号