python中not()的命令有什么问题?

时间:2015-06-16 09:36:23

标签: python operators boolean-expression

在python中使用not()有什么问题?我试过这个

    In [1]: not(1) + 1
    Out[1]: False

它工作正常。但在重新调整之后,

    In [2]: 1 + not(1)
    Out[2]: SyntaxError: invalid syntax

它出错了。订单如何重要?

1 个答案:

答案 0 :(得分:8)

notunary operator,不是函数,因此请不要在其上使用(..)调用符号。解析表达式时忽略括号,not(1) + 1not 1 + 1相同。

由于优先规则,Python尝试将第二个表达式解析为:

1 (+ not) 1

这是无效的语法。如果您必须在not之后使用+,请使用括号:

1 + (not 1)

出于同样的原因,not 1 + 1首先计算1 + 1,然后将not应用于结果。