python基础-闭包


# 闭包:   一个函数里面嵌套一个函数,调用外层函数返回里层函数本身
#1.
def fx(x):
    x+=1
    def fy(y):
        return  x*y
    return  fy     #不要加括号

f=fx(5)      #拿到fy的函数体
n = f(5)      #fy()
print(n)


#2.传进去的参数为函数体
def  f1(func):
    print('f1 runing')
    def f2(y):
        print('f2 running')
        return  func(y) +1
    return f2

def gun(m):
    print('gun runing')
    return m*m

temp =  f1(gun)   # 返回f2函数体   # f1 runing  -> f2  ->temp
n= temp( 5)     # f2( 5)  ->  ' f2 running '  -> return  func(y) +1
            #  func(y) ===  gun(m) -> gun runing   ->  5*5
            #  return  25 +1  -> 26

print(n)


文章作者: 剑胆琴心
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 剑胆琴心 !
评论
 上一篇
python基础-装饰器 python基础-装饰器
装饰器###函数的装饰器,本质上就是一个闭包 ## 概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 def f1(func): print('f1 runing') def f2(y): pri
2020-02-19
下一篇 
python面向对象-继承小小例子 python面向对象-继承小小例子
用之前学习笔记的小例子来复习一下 ############################继承 #父类里面有的,子类里面再写一次. 叫做重写 ,只会用子类的了,父类的就屏蔽了 #继承是通过查找来找的, 不是变量空间的复制, 还是独立的变
2020-02-19
  目录