[Tutor] "x and y" means "if x is false, then x, else y"??
adam.jtm30 at gmail.com
Mon Jul 5 14:23:48 CEST 2010
On 5 July 2010 13:21, Adam Bark <adam.jtm30 at gmail.com> wrote:
> On 5 July 2010 12:53, Richard D. Moores <rdmoores at gmail.com> wrote:
>> On Mon, Jul 5, 2010 at 04:09, Stefan Behnel <stefan_ml at behnel.de> wrote:
>> > Richard D. Moores, 05.07.2010 11:37:
>> >> I keep getting hung up over the meaning of "the return
>> >> value" of an expression. I am of course familiar with values returned
>> >> by a function, but don't quite grasp what the return value of, say,
>> >> the y of "x and y" might mean.
>> > Think of a different expression, like "1+1". Here, the return value (or
>> > maybe a better wording would be the result value) is 2.
>> >> Also, you distinguish between a return value of True and and the value
>> >> of y being such (say 5, and not 0) that it makes y true (but not
>> >> True). So another thing I need to know is the difference between True
>> >> and true. Also between False and false. And why the difference is
>> >> important.
>> > "True" is the value "True" in Python, which is a singleton. You can test
>> > it by using
>> > x is True
>> Ah. But could you give me an x that would satisfy that? I can think of
>> >>> (5 > 4) is True
>> But how can (5 > 4) be an x? Could you show me some code where it could
>> >>> x = (5 > 4)
>> >>> x
>> >>> x is True
>> So it can! That surprised me. I was expecting "x = (5 > 4)" to be
>> absurd -- raise an exception? Still seems pretty weird.
> Greater than (>) works like the mathematical operators in returning a
> value, it just happens that for comparison operators (>, <, ==, !=) the
> values can only be True or False.
I should add that this is how something like:
if x != y:
works, if expects a True or False (this isn't always true but works for
comparison operators expressions such as this).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Tutor