请你解释一下为什么圆括号会影响传递给print语句的布尔值的输出?在
示例:print(True and False) or (True or False)
# False or True
# Python 2.7 >>> True
# Python 3.6 >>> False
但当我使用括号时:
^{pr2}$
Python3中的解释器是否只看到第一部分(第一个括号内的那个部分)?如果是这样的话,为什么它不为其余的行抛出一个错误呢?在
其他示例:print(True and True) and (True and False)
# True and False
# Python 2.7 >>> False
# Python 3.6 >>> True
print((True and True) and (True and False))
# True and False
# Python 2.7 >>> False
# Python 3.6 >>> False
print(True and True) and not (False or True)
# True and not True
# Python 2.7 >>> False
# Python 3.6 >>> True
print((True and True) and not (False or True))
# True and not True
# Python 2.7 >>> False<