2018-09-29

外部函数的变量被内部函数引用


#add 函数名称或函数的引用 

#add() 函数的调用


闭包的使用


这个函数其实就是线性方程 y=ax+b 

def    a_line(a,b):

        def    arg_y(x):

             return   a*x+b

        return    arg_y


lambda 版

defa_line_a(a,b):

   return  lambdax: a*x+b

lambda 表达式本身就是一个带返回值的函数,因此return lambda加上函数a_line的a b两个参数就已经组成了闭包。所以最后的return arg_y是多余的。


line1 = a_line_a(3, 5) 

print(line1)

. at 0x000001FABB800D90>



line1=a_line(3,5)

line2=a_line(5,10)

print(line1(10))

print(line1(20))







装饰器

你可能感兴趣的:(2018-09-29)