【发布时间】:2020-06-26 19:00:50
【问题描述】:
有人能解释一下为什么在下面的例子中所有函数在运行后都是一样的吗?有没有办法避免这种情况并获得我想要的独特功能(请不要建议使用部分)。
def lin_fun(x, a, b):
return a*x + b
funs = {}
params = [(1,2), (3,4)]
for param in params:
funs[param] = lambda x: lin_fun(x, *param)
print(funs[params[0]](100))
# prints 304
print(funs[params[1]](100))
# prints 304
【问题讨论】:
标签: python