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

关于 def f(j): 和 r = f(i) 的调用问题,求学友们解答

def count():
    fs = []
    for i in range(1, 4):
        def f(j): # 这里f(j)是从哪里调用的呢 是fs里面吗?
            def g():
                return j*j
            return g
        r = f(i) # 这里f(i)是什么  是1,2,3吗
        fs.append(r)   
    return fs
f1, f2, f3 = count()
print f1(), f2(), f3()


正在回答

1 回答

f(j) 是在 r=f(i)这个位置调用的,   f(i)里面的 i ,每次循环时 i 就有一个值,比如,第一次循环 i=1, 这时的 r = f(i) 里的 i 就是1,然后 调用函数时,再把 i 的值 传递给 形参 j ,这样就计算出一个值 1*1 返回给 r , 然后继续循环 i =2,,,,i =3,,,

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

举报

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

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

进入课程

关于 def f(j): 和 r = f(i) 的调用问题,求学友们解答

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

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

帮助反馈 APP下载

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

公众号

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