【python】闭包

def outer ():
a=1

def inner():
print(a)

inner()
print(inner.__closure__)

outer()
---------------------------------------

1
(<cell at 0x0000000002146468: int object at 0x0000000064486C10>,)# 显示这句话,表示是闭包。

双层函数,内层函数要是调用了外层函数的变量,就是闭包

----------------------------------------------------------------------------------

 
 
def outer ():
a=1

def inner():
print(a)

inner()
outer()
------------------------------------------------
在函数里面定义个函数,并且在函数里面调用它。结果是“1”
 
def outer ():
a=1

def inner():
print(a)

return inner
inn=outer()
inn()
----------------------------
外层函数的返回值用内层函数
inn=outer(),则返回innter ,表示inn=innter
inn()=innter(),inn加括号表示innter也加括号,即可以直接调用内层函数。内层函数不能直接调用。


三,作用
说了这么多,不免有人要问,那这个闭包在实际的开发中有什么用呢?闭包主要是在函数式开发过程中使用。
以下介绍两种闭包主要的用途。

用途1,当闭包执行完后,仍然能够保持住当前的运行环境。
用途2,闭包可以根据外部作用域的局部变量来得到不同的结果,这有点像一种类似配置功能的作用,我们可以修改外部的变量,

转载于:https://www.cnblogs.com/yang30293316/p/11285043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值