【发布时间】:2018-09-11 05:13:44
【问题描述】:
当我偶然发现this 用户提交的解决方案(针对其他人的问题)时,我正在 StackOverflow 中寻找我的问题的解决方案:
appsMenu.add_command(label=app, command=openApp(Apps[app]))调用函数的命令参数需要包裹在
lambda中,以防止它们被立即调用。此外,在 for 循环中绑定的命令需要循环变量作为默认参数,以便每次都绑定正确的值。appsMenu.add_command(label=app, command=lambda app=app: openApp(Apps[app]))
如你所见,用户写了lambda app=app,看在我的份上,我不知道为什么。它有什么作用?
【问题讨论】:
-
这是答案的副本:stackoverflow.com/a/15839049/8586227。
标签: python python-3.x lambda command