易百教程

67、以下 Python 程序的结果是什么?示例代码如下:

def multiplexers ():
    return [lambda n: index * n for index in range (4)]
print ([m (2) for m in multiplexers ()])

上面示例代码输出结果是:

[6, 6, 6, 6]

上述代码的输出是:[6, 6, 6, 6]。 这是因为在调用任何多路复用器函数后查找变量 index 的值时的后期绑定。