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

f1, f2, f3 = count()不懂

def count():
    fs = []
    for i in range(1, 4):
        def f():
             return i*i
        fs.append(f)
    return fs

f1, f2, f3 = count()

理解count()返回的是一个包含了三个函数的数组,不是一个数组么?为什么不可以一个变量接收,而需要3个变量?


正在回答

1 回答

count()  执行了函数,函数返回了fs,fs是一个列表[i*i,i*i,i*i]

列表里面每个值分别赋值给f1 f2 f3

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

慕前端3429475 提问者

fs列表并不是[i*i,i*i,i*i],到这一步的时候,其实f()函数还没有被调用过。。。所以返回的应该是[f(i),f(i),f(i)],我想表达的意思是, a,b,c=[1,2,3] print a,b,c ---1,2,3 a=[1,2,3] print a ----[1,2,3] 这两种.正常的数组可以用一个变量接收整个数组,也可以用三个变量接收数组中的每一个值 昨天我用一个变量接收count()这个数组的时候总是报错,刚刚又试了一下,可以运行成功。。。可能是平台bug吧 f1=count() 不过这是一个列表,不是函数,所以f1()的时候会报错,我知道了,谢谢。
2018-06-26 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

f1, f2, f3 = count()不懂

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