I'm not a novice programmer and I know what booleans are and how to use them. Trouble is, I can't quite understand what is implied in Python's documentation regarding boolean operations:
or_test ::= and_test | or_test "or" and_test
and_test ::= not_test | and_test "and" not_test
not_test ::= comparison | "not" not_test
What does all this recursion mean? Why should there be an "and_test" inside of an or_test? The same question about "not_test" in the description of and_test The third line makes even less sense to me. Could anyone please guide me through these lines so that I can finally understand this somewhat unnecessarily recursive and tangled notation