Python Lambda和变量绑定

Python Lambda和变量绑定,第1张

Python Lambda和变量绑定

client
变量是在外部范围中定义的,因此,在
lambda
运行该变量时,它将始终设置为列表中的最后一个客户端。

为了获得预期的结果,可以给lambda一个带有默认值的参数:

passIf = lambda client=client: client.returnpre(CMD2) == 0

由于默认值是在定义lambda时评估的,因此其值将保持正确。

另一种方法是在函数内部创建lambda:

def createLambda(client):    return lambda: client.returnpre(CMD2) == 0#...passIf = createLambda(client)

这里拉姆达指

client
可变
createLambda
的功能,其具有正确的值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5646727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存