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

答案里面的g()定义是必须的吗

https://img1.sycdn.imooc.com//5bda7e1e0001432408330354.jpg

只看了答案第一段的提示之后,我知道了问题所在是函数错调用了定义外的变量,然后我试着写了图中的代码,运行成功,再看答案就懵了,咋肥事啊,他比我多定义了一个g(),和我这个哪个是正确的,区别在哪

正在回答

2 回答

两端代码其实是一样的。因为你在定义第二个函数def f(j=i)的时候引用了另外一个变量j,此时数组中的引用变量指向的也不是i,而是j所指向的内容。但是这里又因为外面套了一个for循环,所以,可以看做循环一次,调用一个变量j。如果你理解堆和栈,那就更容易理解了。总之,你可以理解成你的这个代码是答案的简写版。

1 回复 有任何疑惑可以回复我~

代码有点冗余,可以使用ifelse简化下,加温。canvasdataurl

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255644    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

答案里面的g()定义是必须的吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信