python基础闭包?

发布网友

我来回答

4个回答

热心网友

调用outer(10)时会返回内部函数inner并将inner赋给a,
所以a就是函数inner,
调用a(1)就是调用inner(1),
而调用inner(1)会把1传给y,
所以y等于1。

热心网友

print(a(1)) #在这给y赋的值。追问这个为什么等于1呢

热心网友

建议更换防止闭包

热心网友

outer(10) 将inner中的x初始化为10
a(1) 执行inner(1),10+1=11,返回11。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
1.592904s