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

学习返回函数时候,python3打印报错in <module> print(callable(f1())),TypeError: 'list' object is not callable

def countr():
    fs=[]
    for i in range(1,4):
        def f():
            return i*i
        fs.append(f)
    return fs
f1=countr()
f2=countr()
f3=countr()
print(f1())
print(f2())
print(f3())


正在回答

2 回答

首先,f1,f2,f3都是变量,

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

按你的写法,这三个指向都是一样的,结果不会有任何区别。

其次,append不是高阶函数,

fs.append(f)

这里f是定义的函数

总的来说,没看出来这是什么思路。。

0 回复 有任何疑惑可以回复我~
def countr():
    fs=[]
    for i in range(1,4):
        def f():
            return i*i
        fs.append(f)
    return str(fs)
0 回复 有任何疑惑可以回复我~
#1

weibo_酒窝不是用来乘酒哒_0 提问者

TypeError: 'str' object is not callable 不行哦,我这边按照这种写法又会报这个错
2019-11-13 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

学习返回函数时候,python3打印报错in <module> print(callable(f1())),TypeError: 'list' object is not callable

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

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

帮助反馈 APP下载

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

公众号

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