A certainl part of an if() structure never gets executed.
Nick the Gr33k
support at superhost.gr
Sat Jun 15 04:39:04 EDT 2013
On 15/6/2013 8:27 πμ, Larry Hudson wrote:
> On 06/14/2013 09:56 AM, Nick the Gr33k wrote:
>> On 14/6/2013 7:31 μμ, Steven D'Aprano wrote:
>>> On Fri, 14 Jun 2013 16:07:56 +0300, Nick the Gr33k wrote:
>>>
>
>>
>> Returning True is the same thing as returning a variable's truthy value?
>>
> NO! 'True' and 'False' are the two values of the boolean type. The
> 'and' and 'or' logical operators do NOT return a boolean type of True or
> False.
Indeed.
>>> print( name and month and year )
hijk
>>> print( bool( name and month and year ) )
True
>>> print( name or month or year )
abcd
print( bool( name or month or year ) )
True
> Also they do NOT return "a variable's truthy value", they return the
> variable itself.
No, as seen from my above examples, what is returned after the expr eval
are the actual variables' values, which in turn are truthy, *not* the
variable itself.
> Now, that returned variable can then be interpreted as
> a boolean value for other operations in the same way that (virtually)
> all data types can be interpreted as a boolean. Let me emphasize...
> they are INTERPRETED as having a boolean VALUE, but they are NOT a
> boolean TYPE.
Yes the returned value of 'hijk' is being interpreted as bool('hijk'),
which boils down as truthy.
--
What is now proved was at first only imagined!
More information about the Python-list
mailing list