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

讲解: 为什么标准答案是正确 和 ' 'int' object is not callable'的问题

标准代码及注解:

def count():

    fs = []

    for i in range(1, 4):

        def f(i):   #函数定义的时候不发生值传递, 传递的是i, 不是i = 1或2或3

            def g():

                return i*i

            return g

        fs.append(f(i))   #关键在这里: 将f(i)加到列表中, 注意这里已经在调用函数f()了,i = 1.2.3分别成功传入并调用

    return fs

f1, f2, f3 = count()

print f1(), f2(), f3()


关于'int' object is not callable的问题: f1, f2, f3 = count() , 接收的是三个int值, print的时候不能带括号, print(f1,f2,f3)


正在回答

2 回答

额 是不是版本问题啊 我把你的代码输入进去 没错啊https://img1.sycdn.imooc.com//5bc0a287000168b607960490.jpg

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

是不是因为在for循环里    程序把def  f(i)   当成循环的i   而不是形参了,所以会出错

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

举报

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

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

进入课程

讲解: 为什么标准答案是正确 和 ' 'int' object is not callable'的问题

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