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

学习返回函数时候,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进阶
  • 参与学习       255772    人
  • 解答问题       2946    个

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

进入课程

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

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