Python语法错误not()op

2024-04-25 06:29:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这样做有效:

>>> not(True)
False
>>> a = {}
>>> a["hidden"] = False
>>> a["hidden"] = not(a["hidden"])
>>> a["hidden"]
True

但不是这个:

def toggleHelp(self, event):
    # https://stackoverflow.com/questions/10267465/showing-and-hiding-widgets#10268076
    if (self.special_frame["hidden"] == False):
        self.special_frame.grid_remove()
    else:
        self.special_frame.grid()
    self.special_frame["hidden"] == not(self.special_frame["hidden"])

错误

 line 563
    self.special_frame["hidden"] == not(self.special_frame["hidden"])
                                      ^
SyntaxError: invalid syntax

在初始化中:

self.special_frame["hidden"] = False

我做错了什么?你知道吗


Tags: httpsselfcomeventfalsetruedefnot
2条回答

问题是在需要==的地方使用=。这通常不会导致语法错误,但在您的情况下,您有:

a == not(b)

与以下内容相同:

a == not b

该组为:

(a == not) b

这就导致了语法错误。你知道吗

另一方面,赋值运算符的优先级较低,因此:

a = not b

分组方式:

a = (not b)

这很好。你知道吗

我很确定你只需要一个等号,也许这是个错误。 =用于赋值,==用于比较。你知道吗

相关问题 更多 >