我需要生成一个稍微不同的函数列表来动态构造:
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
虽然我可能会通过使用仿函数来解决问题,但了解变量绑定的机制以及上述示例的简单修复方法会很有趣