#定義:如果在一個(gè)內(nèi)部函數(shù)里,對(duì)在外部作用域(但不是在全局作用域)的變量進(jìn)行引用,那么內(nèi)部函數(shù)就被認(rèn)為是閉包(closure)分解來(lái)說(shuō),包含下面3個(gè)條件:1) 需要函數(shù)嵌套, 就是一個(gè)函數(shù)里面再寫(xiě)一個(gè)函數(shù).2) 外部函數(shù)需要返回一個(gè)內(nèi)部函數(shù)的引3) 外部函數(shù)中有一些局部變量, 并且, 這些局部變量在內(nèi)部函數(shù)中有使用一些概念:1)自由變量: 外部函數(shù)中定義的局部變量, 并且在內(nèi)部函數(shù)中被使用2) 閉包: 那個(gè)使用了自由變量并被返回的內(nèi)部函數(shù)就稱(chēng)為閉包
#支持閉包的語(yǔ)言有這樣的特性:1)函數(shù)是一階值(First-class value),即函數(shù)可以作為另一個(gè)函數(shù)的返回值或參數(shù),還可以作為一個(gè)變量的值2)函數(shù)可以嵌套定義,即在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)#代碼示例
posted on 2011-06-15 07:31 XXXXXX 閱讀(1308) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): Python
Powered by: BlogJava Copyright © XXXXXX