我正在尝试来自 Python Lexical closures问题中的一段代码
flist = []
for i in xrange(3):
def func(x): return x*i
flist.append(func)
for f in flist:
print f.func_closure
输出是:
None
None
None
不应该吗:
(<cell at 0x9222d94: int object at 0x8cabdbc>,)
(<cell at 0x9222d94: int object at 0x8cabdbc>,)
(<cell at 0x9222d94: int object at 0x8cabdbc>,)
我使用以下代码获得了上述输出:
flist = []
def actualFact():
for i in xrange(3):
def func(x): return x * i
flist.append(func)
for f in flist:
print f.func_closure
我正在使用 Python 2.6.6(r266:84292,2010 年 9 月 15 日,15:52:39)。