On Tue, 16 Apr 2013 15:19:25 -0700, Bruce McGoveran wrote: > Hello. I am new to this group. I've done a search for the topic about > which I'm posting, and while I have found some threads that are > relevant, I haven't found anything exactly on point that I can > understand. So, I'm taking the liberty of asking about something that > may be obvious to many readers of this group. > > The relevant Python documentation reference is: > http://docs.python.org/2/reference/expressions.html#boolean-operations. > > I'm trying to make sense of the rules of or_test, and_test, and not_test > that appear in this section. While I understand the substance of the > text in this section, it is the grammar definitions themselves that > confuse me. For example, I am not clear how an or_test can be an > and_test. Moreover, if I follow the chain of non-terminal references, I > move from or_test, to and_test, to not_test, to comparison. And when I > look at the definition for comparison, I seem to be into bitwise > comparisons. I cannot explain this. > > Perhaps an example will help put my confusion into more concrete terms. > Suppose I write the expression if x or y in my code. I presume this is > an example of an or_test. Beyond that, though, I'm not sure whether > this maps to an and_test (the first option on the right-hand side of the > rule) or to the or_test "or" and_test option (the second on the > right-hand side of the rule). > > If people can offer some thoughts to put me in the right direction (or > out of my misery), I would appreciate it.
$ python Python 2.7.3 (default, Jan 15 2013, 02:26:36) [GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9 Type "help", "copyright", "credits" or "license" for more information. >>> not True False >>> not False True >>> True or False True >>> True and False False >>> x = 2 >>> not (x == 2) False >>> not (x == 3) True >>> x == 2 True >>> x == 3 False >>> -- http://mail.python.org/mailman/listinfo/python-list