我不是新手程序员,我知道布尔是什么以及如何使用它们。麻烦的是,我无法理解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的描述中 第三行对我来说意义不大。 任何人都可以引导我通过这些行,以便我终于可以理解这有点不必要的递归和纠结的符号
答案 0 :(得分:2)
这是较大ST的一部分,实质上指的是language grammar。
这意味着and
比or
更紧密。请注意,or_test
不包含and
,它包含and_test
规则,它是由构建的 not_test
规则或and_test "and" not_test
。 not_test
本身也以类似的方式构建,等等。
另请参阅参考文档的operator precedence。