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

返回函数中,被返回的函数不能传入参数吗?

def calc_prod(lst):

    def g(lst):

        sum = 1

        for x in lst:

            sum = sum * x

    return g


f = calc_prod([1, 2, 3, 4])

print f()


这样哪里错了呢?

正在回答

2 回答

你的函数g没有return sum

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

不是不能,而是,内函数可以直接调用外函数calc_prod(lst)的参数lst,不需要再对内函数g传入函数,再者,就算你要传入,内函数g的参数名也不能用lst,更外函数的lst冲突了。我也初学,这是我的理解。

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

小九qqt 提问者

可是就算不传入,输出的结果也是错误的
2018-03-03 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

返回函数中,被返回的函数不能传入参数吗?

我要回答 关注问题
微信客服

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

帮助反馈 APP下载

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

公众号

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