Understanding Boolean Expressions

Walter Hurry walterhurry at lavabit.com
Tue Apr 16 18:32:44 EDT 2013


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
>>>




More information about the Python-list mailing list