在python中使用not()有什么问题?我试过这个
In [1]: not(1) + 1
Out[1]: False
它工作正常。但在重新调整之后,
In [2]: 1 + not(1)
Out[2]: SyntaxError: invalid syntax
它出错了。订单如何重要?
答案 0 :(得分:8)
not
是unary operator,不是函数,因此请不要在其上使用(..)
调用符号。解析表达式时忽略括号,not(1) + 1
与not 1 + 1
相同。
由于优先规则,Python尝试将第二个表达式解析为:
1 (+ not) 1
这是无效的语法。如果您必须在not
之后使用+
,请使用括号:
1 + (not 1)
出于同样的原因,not 1 + 1
首先计算1 + 1
,然后将not
应用于结果。