Python中的布尔运算(文档中的表示法)

时间:2016-11-20 10:54:28

标签: python python-3.x

我不是新手程序员,我知道布尔是什么以及如何使用它们。麻烦的是,我无法理解Python关于布尔操作的文档中隐含的内容:

or_test  ::=  and_test | or_test "or" and_test
and_test ::=  not_test | and_test "and" not_test
not_test ::=  comparison | "not" not_test

所有这些递归意味着什么?为什么要有" and_test"在or_test里面? 关于" not_test"的相同问题在and_test的描述中 第三行对我来说意义不大。 任何人都可以引导我通过这些行,以便我终于可以理解这有点不必要的递归和纠结的符号

1 个答案:

答案 0 :(得分:2)

这是较大ST的一部分,实质上指的是language grammar

这意味着andor更紧密。请注意,or_test 包含and,它包含and_test 规则,它是由构建的 not_test规则或and_test "and" not_testnot_test本身也以类似的方式构建,等等。

另请参阅参考文档的operator precedence