最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Python中的閉包

 更新時間:2015年07月08日 11:43:54   投稿:hebedich  
簡單說,閉包就是根據不同的配置信息得到不同的結果。再來看看專業(yè)的解釋:閉包(Closure)是詞法閉包(Lexical Closure)的簡稱,是引用了自由變量的函數(shù)。這個被引用的自由變量將和這個函數(shù)一同存在,即使已經離開了創(chuàng)造它的環(huán)境也不例外。

Python中的閉包的概念, 在我看來, 就相當于在某個函數(shù)中又定義了一個或多個函數(shù), 內層函數(shù)定義了具體的實現(xiàn)方式, 而外層返回的就是這個實現(xiàn)方式, 但并沒有執(zhí)行, 除非外層函數(shù)調用的內層的實現(xiàn)方法被執(zhí)行了。至于這個怎么執(zhí)行, 看下面的例子就知道了

比如:

def sum_outer(x, y):
  def sum_in(z):
    return x + y - z;
  return sum_in #注意, 這里返回的不是sum_in() 只是sum_in的函數(shù)名

 m = sum_outer(3, 4) #3, 4 分別對應x, y,這里的m返回的也只是函數(shù)sum_in的定義,<function __main__.sum_in>
 print m(5) # m對應z, 這個時候才是真正sum_in執(zhí)行的時候

看起來就像通過sum_outer 調用了內層的sum_in函數(shù), 多了層代理

其中一種應用場景就是可以根據不同的參數(shù),使用相同的實現(xiàn)去返回對應不同的結果,比如, 根據不同的配置獲取不同的數(shù)據庫連接, 或者要求在驗證字符串長度時, 可以根據不同的最大長度驗證(外層傳遞最大長度, 內層傳遞驗證的字符串)。

在抽象化一點, 外層定義了一個環(huán)境, 內層則是在該環(huán)境中的要做的事情, 但這個事情還沒做,
只是要做。當真正需要做的時候到這個環(huán)境中去做了就好了(外層的返回結果(m)執(zhí)行內層的函數(shù)sum_in)
實際上, 直接給函數(shù)傳遞需要的所有參數(shù), 直接返回結果, 如上面的sum_outer和sum_in, 直接通過

def sum(x,y,z):
  return x + y - z

不就結了嗎,為社么還要閉包這個實現(xiàn)呢? 到目前來說, 只能看出他們是兩種不同的實現(xiàn)方式, 更多的區(qū)別, 還有待日后的學習體驗

以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關文章

  • TENSORFLOW變量作用域(VARIABLE SCOPE)

    TENSORFLOW變量作用域(VARIABLE SCOPE)

    這篇文章主要介紹了TENSORFLOW變量作用域(VARIABLE SCOPE),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Python基礎之數(shù)據類型詳解

    Python基礎之數(shù)據類型詳解

    python的數(shù)值類型包括整數(shù),浮點數(shù),復數(shù),集合,小數(shù)和分數(shù),布爾值.它們都是python中的數(shù)值類型.如果是有過其他語言編寫經驗的人,一定很好奇,浮點數(shù)和小數(shù)的區(qū)別是什么?文中有非常詳細的介紹,需要的朋友可以參考下
    2021-06-06
  • pandas map(),apply(),applymap()區(qū)別解析

    pandas map(),apply(),applymap()區(qū)別解析

    這篇文章主要介紹了pandas map(),apply(),applymap()區(qū)別解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 解決使用PyCharm時無法啟動控制臺的問題

    解決使用PyCharm時無法啟動控制臺的問題

    今天小編就為大家分享一篇解決使用PyCharm時無法啟動控制臺的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python編程項目中線上問題排查與解決

    python編程項目中線上問題排查與解決

    因為業(yè)務上的設計存在問題,導致數(shù)據庫表總是被鎖,而且是不定期的鎖定,導致服務器運行異常,今天就來跟大家說說該如何避免這種問題
    2021-11-11
  • python?實現(xiàn)圖片特效處理

    python?實現(xiàn)圖片特效處理

    這篇文章主要介紹了python?實現(xiàn)圖片特效處理,對于??圖片處理?,在日常生活中我們常常能夠看到的,下面我們就來利用Python來對圖片進行特效操作,需要的朋友可以參考一下
    2022-04-04
  • Python實現(xiàn)Word文檔轉換Markdown的示例

    Python實現(xiàn)Word文檔轉換Markdown的示例

    這篇文章主要介紹了Python實現(xiàn)Word文檔轉換Markdown的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python 數(shù)據的清理行為實例詳解

    python 數(shù)據的清理行為實例詳解

    這篇文章主要介紹了python 數(shù)據的清理行為實例詳解的相關資料,需要的朋友可以參考下
    2017-07-07
  • Python如何實現(xiàn)轉換URL詳解

    Python如何實現(xiàn)轉換URL詳解

    這篇文章主要介紹了Python如何實現(xiàn)轉換URL詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python?迭代器Iterator詳情

    Python?迭代器Iterator詳情

    這篇文章主要介紹了Python?迭代器Iterator詳情,迭代器可以幫助我們解決面對復雜的數(shù)據場景時,快速簡便的獲取數(shù)據,下文關于其詳細介紹,需要的小伙伴可以參考一下
    2022-05-05

最新評論

佛坪县| 巫溪县| 阿鲁科尔沁旗| 桑日县| 时尚| 昭觉县| 合水县| 资溪县| 西藏| 泰州市| 麻栗坡县| 兴仁县| 怀宁县| 拜泉县| 宿州市| 台南市| 洛川县| 黎川县| 社会| 句容市| 佛冈县| 阳山县| 兴安盟| 镶黄旗| 葫芦岛市| 屯门区| 健康| 海城市| 仁寿县| 紫金县| 芜湖市| 资阳市| 崇仁县| 五寨县| 长武县| 从化市| 新郑市| 元氏县| 金沙县| 行唐县| 甘肃省|