wang1313131313 发表于 2023-3-28 19:06:35

help help

本帖最后由 wang1313131313 于 2023-3-28 19:09 编辑

想问为啥闭包会记住自由变量如图

歌者文明清理员 发表于 2023-3-28 19:24:13

因为makescore函数里的lis变量会被inner函数访问。
score(82):ls是[],append82,变成
score(66):ls是,append66,变成
score(100):ls是,append100,变成

wang1313131313 发表于 2023-3-28 19:26:42

歌者文明清理员 发表于 2023-3-28 19:24
因为makescore函数里的lis变量会被inner函数访问。
score(82):ls是[],append82,变成
score(66):l ...

为生么第二次里面[]会有82??

歌者文明清理员 发表于 2023-3-28 19:27:48

wang1313131313 发表于 2023-3-28 19:26
为生么第二次里面[]会有82??

因为同一个ls啊。你不看 def make_score():,把他当普通的主程序就能理解了
页: [1]
查看完整版本: help help