生成对闭包的引用

时间:2015-07-20 19:32:32

标签: python python-3.x

我需要生成一个稍微不同的函数列表来动态构造:

def f(p,x):
    print("f", p, x)

a=[]
for param in ('param_A', 'param_B'):
    a.append( lambda x: f(param, x) )

结果:

IN:    a[0](0)
OUT:   f param_B 0
IN:    a[1](1)
OUT:   f param_B 1

虽然我可能会通过使用仿函数来解决问题,但了解变量绑定的机制以及上述示例的简单修复方法会很有趣

0 个答案:

没有答案