课程
/后端开发
/Python
/python进阶
答案为什么不是三个一样的1, 4 , 9呢?为什么会调用一次计算一个不同的数呢?内层函数到底返回什么啊?求大神指点迷津啊?
2017-02-22
源自:python进阶 2-9
正在回答
1. 注意区分 f1与f1(), f1等价于函数count,输入f1返回的结果是count函数,并没有实际调用这个函数,调用函数需要加括号,此时才开始运算2. 返回函数的作用之一是可以使计算延迟。上面列子里,在使用f1,f2,f3返回函数count时(f1, f2, f3 = count()),内层函数f()并没有被调用,所以实际并没有计算i x i。然而在这三次返回函数f1,f2,f3的过程中,i已经循环到了3,因此当真正开始调用函数f1()的时候,内层函数的计算已经由 3 x 3 开始。3. 综上所述,返回函数不要使用循环变量,如在次处内存函数使用循环变量i。
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号