<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    統(tǒng)計(jì)

    留言簿(1)

    DB

    Others

    QA

    Tech Website

    閱讀排行榜

    評(píng)論排行榜

    Python中的Closure


    #定義:如果在一個(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ù)

    #代碼示例

     1def counter(start_at=0):
     2    count = [start_at]
     3    def incr():
     4        count[0] += 1   #對(duì)局部變量的引用
     5        return count[0]
     6    return incr  #返回一個(gè)函數(shù)對(duì)象
     7
     8
     9if __name__ == '__main__':
    10    c = counter(3)
    11    print type(c)
    12    print c()
    13    print c()
    14


     

    posted on 2011-06-15 07:31 XXXXXX 閱讀(1308) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Python

    主站蜘蛛池模板: 2020国产精品亚洲综合网| 免费人成视频在线观看免费| 在线免费观看污网站| 曰韩无码AV片免费播放不卡| 亚洲人成网址在线观看| 午夜毛片不卡免费观看视频| 日本道免费精品一区二区| 四虎亚洲精品高清在线观看| 亚洲人午夜射精精品日韩| 99在线精品免费视频九九视| 三年片在线观看免费观看大全动漫 | 国产午夜亚洲精品国产| 亚洲欧洲国产成人综合在线观看| 在线观看免费av网站| 三年片在线观看免费观看大全中国| 91久久亚洲国产成人精品性色| 又黄又爽的视频免费看| 222www免费视频| 久99久无码精品视频免费播放| 亚洲中文无码mv| 久久久久亚洲av无码专区蜜芽| 亚洲国产精品成人一区| 999国内精品永久免费观看| GOGOGO免费观看国语| 亚洲色大成网站www尤物| 亚洲一区精品中文字幕| 国产啪亚洲国产精品无码| 午夜一级免费视频| 亚州免费一级毛片| 一个人免费视频在线观看www | 中文字幕无码视频手机免费看 | 日韩免费观看视频| 亚洲精品视频在线免费| 99re6在线精品免费观看| 狠狠入ady亚洲精品| 亚洲AV综合色区无码二区爱AV| 亚洲av色影在线| 亚洲欧洲精品无码AV| 免费成人在线观看| 国产麻豆免费观看91| 成年在线网站免费观看无广告|