疯狂的Python-13(纠结的not)

疯狂的Python-13(纠结的not)_第1张图片

一些有趣的鲜为人知的Python特性集合

无论你是Python新手还是Python老手,我相信,这个系列的文章都会让你获益良多!

阅读此系列任何文章前请务必观看:疯狂的Python-目录大纲


▶ 纠结的not

x = True
y = False

Output:

>>> not x == y
True
>>> x == not y
  File "", line 1
    x == not y
           ^
SyntaxError: invalid syntax

:bulb: 解释:

  • 操作符的优先级会影响表达式的计算顺序,并且在Python里,==操作符的优先级要高于not操作符。
  • 所以not x == y等于 not (x == y),又等于not (True == False),最终计算结果就会是True
  • 但是x == not y会报错是因为这个表达式可以等价于(x == not) y,而不是我们第一眼认为的x == (not y)

你可能感兴趣的:(疯狂的Python-13(纠结的not))