标题:python 有没有大神解读一下这个例子@闭包
只看楼主
睡觉的虫
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-8-17
结帖率:0
已结贴  问题点数:20 回复次数:1 
python 有没有大神解读一下这个例子@闭包
def ct():
    fs=[]
    for i in range(1,4):
        def f():
            j=i*i
            return j
        fs.append(f)
    return fs
ct()[0]()

为什么最后结果是9不是1呢?
搜索更多相关主题的帖子: python 例子 def return 结果 
2018-08-26 19:22
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:20 
j=i*i
i最后运算值=3
所以是9

无知
2018-08-27 20:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489444-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056443 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved