闭包中的示例代码问题
上面举例有些问题的,如果按照上面的fs.append(f),那么,fs中保存的是f()函数的地址引用。当调用f1,f2,f3时,输出的也是地址。如果像例子中调用f1(),f2(),f3()会报错:"List" is not callable.列表不能被调用。
只需要修改两处即可实现输出1*1,2*2,3*3的结果:
fs.append(f())
print f1,f,f3
输出结果:1,4,9
亲测有效,其他代码无需修改。不过,这样使用,那闭包又有什么意义?
上面举例有些问题的,如果按照上面的fs.append(f),那么,fs中保存的是f()函数的地址引用。当调用f1,f2,f3时,输出的也是地址。如果像例子中调用f1(),f2(),f3()会报错:"List" is not callable.列表不能被调用。
只需要修改两处即可实现输出1*1,2*2,3*3的结果:
fs.append(f())
print f1,f,f3
输出结果:1,4,9
亲测有效,其他代码无需修改。不过,这样使用,那闭包又有什么意义?
2015-10-08
举报