我想创建一个由固定基本函数创建的函数对象组成的函数列表,但函数对象具有不同的输入参数。我已经写了这样的代码:Python中的函数对象
def f_base(name):
print "I am %s" % name
f_list = []
for name in ['A', 'B']:
f_list.append(
lambda : f_base(name)
)
f_list[0]()
f_list[1]()
结果是:
I am B
I am B
但我想:
I am A
I am B
有人能解释为什么Python中产生这样的输出,什么是最简单的如何获得我需要的结果?
亦称臭名昭著“[后期绑定疑难杂症](http://docs.python-guide.org/en/latest/writing/gotchas/#late-绑定关闭)' – bereal
太棒了!感谢你的回答! – Fomalhaut