Him*_*hra 3 python operators boolean-expression
在python中使用not()有什么问题?我试过这个
In [1]: not(1) + 1
Out[1]: False
Run Code Online (Sandbox Code Playgroud)
它工作得很好.但在重新调整之后,
In [2]: 1 + not(1)
Out[2]: SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误.订单如何重要?
not是一元运算符,而不是函数,所以请不要(..)在它上面使用调用符号.解析表达式时忽略括号,并且与括号not(1) + 1相同not 1 + 1.
由于优先规则,Python尝试将第二个表达式解析为:
1 (+ not) 1
Run Code Online (Sandbox Code Playgroud)
这是无效的语法.如果你真的必须使用not后+,使用括号:
1 + (not 1)
Run Code Online (Sandbox Code Playgroud)
出于同样的原因,not 1 + 1首先计算1 + 1,然后应用于not结果.