不太理解,先做个记录

返回函数:函数没有立刻执行,而是将变量全部封存起来


#!/usr/bin/python

def count():
     fs = []
     for i in range(1, 4):
         def f(j):
             def g():
                 return j*j
             return g     #返回了g的函数地址,这个地址里存了j*j的值
         fs.append(f(i))  #将g的函数地址追加到fs中
     return fs  #返回的是list, 这个list里存的都是函数的地址 
   
f1, f2, f3 = count();
print f1(), f2(), f3()

python 高阶函数:返回函数_返回函数

print 'count():', type(count())
print 'f1:', type(f1)
print 'f1():', type(f1())

python 高阶函数:返回函数_python_02