python - python 中 not() 的顺序有什么问题?

标签 python operators boolean-expression

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

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

而且效果很好。但是在重新调整之后,

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

它给出了一个错误。顺序有何影响?

最佳答案

不是unary operator , 不是一个函数,所以请不要在它上面使用 (..) 调用符号。解析表达式时括号将被忽略,not(1) + 1not 1 + 1 相同。

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

1 (+ not) 1

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

1 + (not 1)

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

关于python - python 中 not() 的顺序有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30863866/

相关文章:

python - python中列表的反向数字排序

python - 向量化python中矩阵中所有组合的角度计算

php - [PHP][MYSQL]如何在PHP中对mysql的时间数据类型进行加/减

Python:函数参数的多个可能值

python:有频率函数吗?

python - 使用 .loc 和 OR 运算符返回 ValueError

c# - c#中运算符的问题

Ruby: bool 属性命名约定和使用

javascript - 简化 if else 语句

python - 获取两个多边形相交区域的坐标(在 Python 中)