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

Python新手如何進行閉包時綁定變量操作

 更新時間:2020年05月29日 15:07:48   作者:愛喝馬黛茶的安東尼  
在本篇文章里小編給大家分享的是關(guān)于Python新閉包時綁定變量實例,有興趣的朋友們可以參考下。

搞不清楚在閉包(closures)中Python是怎樣綁定變量的

看這個例子:

>>> def create_multipliers():
...   return [lambda x : i * x for i in range(5)]
>>> for multiplier in create_multipliers():
...   print multiplier(2)
...

期望得到下面的輸出:

0

2

4

6

8

但是實際上得到的是:

8

8

8

8

8

實例擴展:

# coding=utf-8
__author__ = 'xiaofu'

# 解釋參考 http://docs.python-guide.org/en/latest/writing/gotchas/#late-binding-closures

def closure_test1():
  """
  每個closure的輸出都是同一個i值
  :return:
  """
  closures = []
  for i in range(4):
    
    def closure():
      print("id of i: {}, value: {} ".format(id(i), i))

    closures.append(closure)

  # Python's closures are late binding.
  # This means that the values of variables used in closures are looked up at the time the inner function is called.

  for c in closures:
    c()

def closure_test2():

  def make_closure(i):

    def closure():
      print("id of i: {}, value: {} ".format(id(i), i))

    return closure

  closures = []

  for i in range(4):
    closures.append(make_closure(i))

  for c in closures:
    c()


if __name__ == '__main__':
  closure_test1()
  closure_test2()

輸出:

id of i: 10437280, value: 3 
id of i: 10437280, value: 3 
id of i: 10437280, value: 3 
id of i: 10437280, value: 3 
id of i: 10437184, value: 0 
id of i: 10437216, value: 1 
id of i: 10437248, value: 2 
id of i: 10437280, value: 3

到此這篇關(guān)于Python新手如何進行閉包時綁定變量操作的文章就介紹到這了,更多相關(guān)Python閉包時綁定變量實例內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3 selenium 切換窗口的幾種方法小結(jié)

    python3 selenium 切換窗口的幾種方法小結(jié)

    今天小編就為大家分享一篇python3 selenium 切換窗口的幾種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn)

    使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn)

    本文主要介紹了使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Python網(wǎng)絡(luò)爬蟲的基本原理解析

    Python網(wǎng)絡(luò)爬蟲的基本原理解析

    如果要獲取網(wǎng)絡(luò)上數(shù)據(jù),我們要給爬蟲一個網(wǎng)址(程序中通常叫URL),爬蟲發(fā)送一個HTTP請求給目標(biāo)網(wǎng)頁的服務(wù)器,服務(wù)器返回數(shù)據(jù)給客戶端(也就是我們的爬蟲),爬蟲再進行數(shù)據(jù)解析、保存等一系列操作,需要的朋友可以參考下
    2023-05-05
  • 基于Python中單例模式的幾種實現(xiàn)方式及優(yōu)化詳解

    基于Python中單例模式的幾種實現(xiàn)方式及優(yōu)化詳解

    下面小編就為大家分享一篇基于Python中單例模式的幾種實現(xiàn)方式及優(yōu)化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 使用python-pptx操作PPT的示例詳解

    使用python-pptx操作PPT的示例詳解

    python對PPT演示文檔讀寫,是通過第三方庫python-pptx實現(xiàn)的,python-pptx是用于創(chuàng)建和更新?PowerPoint文件的?Python?庫。本文主要介紹了python-pptx操作PPT的相關(guān)示例,希望對大家有所幫助
    2023-01-01
  • 使用Python批量連接華為網(wǎng)絡(luò)設(shè)備的操作步驟

    使用Python批量連接華為網(wǎng)絡(luò)設(shè)備的操作步驟

    隨著網(wǎng)絡(luò)規(guī)模的擴大和設(shè)備數(shù)量的增加,手動配置和管理每臺網(wǎng)絡(luò)設(shè)備變得越來越不現(xiàn)實,因此,自動化工具和腳本變得尤為重要,本篇文章將詳細(xì)介紹如何使用Python批量連接華為網(wǎng)絡(luò)設(shè)備,實現(xiàn)自動化配置和管理,需要的朋友可以參考下
    2024-06-06
  • wxpython實現(xiàn)按鈕切換界面的方法

    wxpython實現(xiàn)按鈕切換界面的方法

    這篇文章主要為大家詳細(xì)介紹了wxpython實現(xiàn)按鈕切換界面的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python多進程通信Queue、Pipe、Value、Array實例

    Python多進程通信Queue、Pipe、Value、Array實例

    這篇文章主要介紹了Python多進程通信Queue、Pipe、Value、Array實例,queue和pipe用來在進程間傳遞消息、Value + Array 是python中共享內(nèi)存映射文件的方法,需要的朋友可以參考下
    2014-11-11
  • python基礎(chǔ)之set集合詳解

    python基礎(chǔ)之set集合詳解

    這篇文章主要介紹了python基礎(chǔ)之set集合詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04
  • python實現(xiàn)旋轉(zhuǎn)和水平翻轉(zhuǎn)的方法

    python實現(xiàn)旋轉(zhuǎn)和水平翻轉(zhuǎn)的方法

    今天小編就為大家分享一篇python實現(xiàn)旋轉(zhuǎn)和水平翻轉(zhuǎn)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論

达拉特旗| 禄丰县| 丰宁| 南部县| 中西区| 政和县| 灵宝市| 都江堰市| 绥棱县| 铁岭市| 隆回县| 宜都市| 郸城县| 五台县| 东港市| 读书| 正定县| SHOW| 建宁县| 永寿县| 马龙县| 胶南市| 江山市| 清水县| 黄平县| 永新县| 铁岭县| 修水县| 顺义区| 安国市| 夏邑县| 宁德市| 武安市| 嘉鱼县| 平昌县| 肇源县| 剑阁县| 宜宾县| 清河县| 石屏县| 江北区|