午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:193日期:2022-07-23 18:41:38

搞不清楚在閉包(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-closuresdef 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

到此這篇關于Python新手如何進行閉包時綁定變量操作的文章就介紹到這了,更多相關Python閉包時綁定變量實例內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 99色网站| 在线观看日韩中文字幕 | 国产黄色网络 | 久久久久久久久成人 | 日韩成人不卡 | 精品一区二区三区三区 | 久久最新免费视频 | 久久国产精品一区二区三区 | 91狠狠综合久久久久久 | 黄色一级小视频 | 四虎精品影院 | 男人午夜视频 | 国产视频97 | 亚洲一区二区三区免费在线观看 | 日韩亚洲一区二区三区 | 亚洲色图狠狠干 | 欧美日韩一区二区在线 | 久久国产精品久久精品国产 | 激情播播网 | 国产高清一区 | 成人激情社区 | 免费在线一级片 | 中文日韩字幕 | 亚洲最大的网站 | 美女午夜视频 | 福利视频一区 | 亚洲网站在线观看 | 成人18视频 | av日日夜夜| 久久dvd| 午夜视频一区二区 | 久久久香蕉 | 午夜精品免费 | 九色视频偷拍少妇的秘密 | 国产视频手机在线 | 国产伊人网 | 日韩每日更新 | 天堂在线观看av | 一级片视频免费看 | 一级免费片| 亚洲视频欧洲视频 |