一些有趣的鲜为人知的Python特性集合
无论你是Python新手还是Python老手,我相信,这个系列的文章都会让你获益良多!
阅读此系列任何文章前请务必观看:疯狂的Python-目录大纲
▶ 纠结的not
x = True
y = False
Output:
>>> not x == y
True
>>> x == not y
File "<input>", 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)
。
网友评论