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函数,这是为什么?
1 回答
已采纳
AIxer
TA贡献22条经验 获得超13个赞
嗯~,怎么说呢~,这样吧,举个例子:Python语言允许这样赋值: ,当执行完那段代码后,count()返回的列表里的元素就这样被分配下去了啦~,^_^ 希望对你有用~
添加回答
举报
0/150
提交
取消