您在这里看到的是 运算符链接 ,根本没有优先级!
Python支持类似的表达式
1 < a < 3
测试数字是否在1到3之间;
(1 < a) and (a < 3)除
a只评估一次外,等于。
不幸的是,这也意味着
None is None == None
实际上意味着
(None is None) and (None == None)
这当然是对的,而您开始的较长示例
a = b = 3a is None == b is None
手段
(a is None) and (None == b) and (b is None)
仅
True当
a和
b都为时才可以
None。
这里的文档,请参阅有关链接的内容。
有时非常有用,但在您最不期望的时候也会弹出!



