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

i的值已经变为3?为啥,不懂呐

原因就是当count()函数返回了3个函数时,这3个函数所引用的变量 i 的值已经变成了3。由于f1、f2、f3并没有被调用,所以,此时他们并未计算 i*i,当 f1 被调用时:

>>> f1()
9     # 因为f1现在才计算i*i,但现在i的值已经变为3


正在回答

1 回答

f1, f2, f3 = count()

因为在这一步调用了count()函数(没有调用f()函数),循环体还是循环了三遍的,所以i的值是变化了的。。返回一个包含3个f()函数的数组

f1()的时候才调用了f(),这个时候i值已经是3了

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

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

微sun 提问者

懂了,感谢(❁´ω`❁)
2018-06-25 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

i的值已经变为3?为啥,不懂呐

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