閱讀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)異常完全指南