注册 登录
编程论坛 Python论坛

python 有没有大神解读一下这个例子@闭包

睡觉的虫 发布于 2018-08-26 19:22, 1430 次点击
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呢?
1 回复
#2
Artless2018-08-27 20:56
j=i*i
i最后运算值=3
所以是9
1