为什么标题连表达式都不能放??
a = 1
b = 1
c = 3
d = 5
print(c>a != d>b)
结果为True
这个表达式很神奇,因为你给任意地方加上括号,所得的结果都为False。
第一种情况
如果表达式从左往右执行
print( ( ( c>a ) != d ) >b )
结果为Fals。
第二种情况
如果从中间开始执行
print( c > (a != d ) > b)
结果也为False
第三种情况
如果是先从两端先执行
print( (c > a) != (d > b) )
结果仍然为Fals
就很神奇,它不按顺序执行,也没有优先级一说。
通过带入大量的数据,发现它和结果和print(c>a and d>b)保持一致。二者应该是等价的。