【发布时间】:2017-02-13 19:03:16
【问题描述】:
我正在使用 tkinter 并尝试在按下按钮时为全局变量赋值。代码如下:
popup.add_command(label="Allow Moving Item", command=lambda: allowMoving=True)
我得到了无效的语法。你能告诉我如何解决这个问题吗?
【问题讨论】:
-
使用函数。不要使用全局变量。
-
避免使用全局变量。如果您需要答案,请参阅此stackoverflow.com/a/21054384/1627968。
-
command=lambda: allowMoving=True-->SyntaxError: can't assign to lambda(lambdas 只能包含表达式,不能包含语句。)将其替换为正常定义的函数的名称。 -
匿名函数由 lambda 表达式定义,它不能包含赋值(或任何其他类型的)语句。
-
回调不需要使用
lambda语法。