不太理解,先做个记录

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

#!/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()

rf1.PNG

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

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

rf2.PNG