为了账号安全,请及时绑定邮箱和手机立即绑定

关于python闭包的问题 ,求大佬指点

关于python闭包的问题 ,求大佬指点

慕码人3612724 2020-03-01 13:59:37
为什么第一个得出的结论是 6,6 ,而第二个结果是6,7  我调试第一个的的时候把test函数完整的执行了两遍,因为每次都要初始化x=5,所以才会出现结果都是6调试第二个的时候先执行a = funX(),这时候就会得到一个返回值funY,由于没有加( ),所以funY这时候并不会执行,程序再往下,就是执行两次a(),这两次a()就是在执行funY(),每次都会叠加,所以得出的值6,7。 关于这两个解释,有什么问题吗? 还有一个不懂的就是上面就是标粗的地方,我觉得a( )执行的时候,就相当于funX( )( ),先执行funX(),然后再执行funY(),执行funX()的时候还是初始化x了又是等于5
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 733 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信