阅读232 返回首页    go 阿里云 go 技术社区[云栖]


详解Python中的闭包

定义
python中闭包的定义是:在一个内部函数里,对在外部作用域(非全局作用域)的变量进行引用,则内部函数就被认为是闭包(Closure)。
我们来结合代码看一下闭包的概念:
4c66dd47687aa29275b90a61a74d6830f14b74fe

在函数addx()内部存在函数addy(),因此,addy()就是内部函数。下面对函数addx()调用:
c28ec16f5d94b4bc7d1de9d3b74af99dd5f288c2
我们可以发现addx(8)的类型是一个函数。对外部作用域(但不是全局作用域)的变量进行引用:x是被引用变量,x的外部作用域在addx()内,而不是在全局作用中。如果此时对x进行调用呢?
498dfdbede5053ecabb1261e233dc8b01eeb0136
未完待续。


最后更新:2017-05-07 07:57:20

  上一篇:go Application.ProcessMessages使用说明
  下一篇:go Java内存溢出(OOM)异常完全指南