def count(): fs = [] for i in range(1, 4): def f(j): def g(): return j*j return g r = f(i) fs.append(r) return fs
我在编译器里输了这段代码,然后执行:
f1 = count()
打印f1:(f1打印出的地址是个g函数集合)
[<function g at 0x0000000002ECE358>, <function g at 0x0000000002ED0CF8>, <function g at 0x0000000002ECE3C8>]
然后在执行:
f1,f2,f3 = count()
打印f1:
<function g at 0x0000000002ECE4A8>
这时候f1打印出的地址不是集合而是单个g函数,这是为什么?
AIxer
相关分类