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

2-8


下面是调用:
注意,下面代码并没有对函数进行执行计算出结果,而是返回函数。
>>> f = calc_sum([1, 2, 3, 4])
>>> f
<function lazy_sum at 0x1037bfaa0>

不理解 不是一层一层的执行代码吗 内部函数也应该执行 所以不用加括号啊 既然调用了外部函数 里面的代码不就执行了吗

正在回答

1 回答

这个地方只是将函数赋值给了一个变量(可认为是指针),并没有实际执行,所以执行 f 返回的是函数的内存地址。

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

慕仰2144170 提问者

追问下 那个f返回的地址只根据return 决定返回哪个函数的地址吗 这个2-8返回的是内部函数的地址 f变量不是外部函数的变量吗
2017-06-12 回复 有任何疑惑可以回复我~

举报

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

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

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号