关于count()返回的结果
Topic source我理解的是返回就是一个list,list是为了分别保存1,2,3作为参数对应的函数。
>>> def count():
... def f(j):
... def g():
... return j*j
... return g
... fs = []
... for i in range(1, 4):
... fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f()
... return fs
...
可以看到:
>>> type(count())
<type 'list'>
>>> count()
[<function g at 0x10679b848>, <function g at 0x10679b8c0>, <function g at 0x10679b668>]
>>> count()[1]
<function g at 0x10679b9b0>
>>> count()[1]()
4
>>> a=count()
>>> a
[<function g at 0x10679b8c0>, <function g at 0x10679b938>, <function g at 0x10679b9b0>]
- 1
梦炸
刚开始以为count()返回的是一个函数的列表[f(1),f(2),f(3)],所以 f1=f(1) f2=f(2) f3=f(3) 调用的时候怎么不直接是