[Python-ideas] Statements vs Expressions... why?

Arnaud Delobelle arnodel at googlemail.com
Sun Sep 14 08:23:07 CEST 2008


On 13 Sep 2008, at 23:17, Cliff Wells wrote:

> On Sat, 2008-09-13 at 19:01 +0100, Arnaud Delobelle wrote:
>>
>> So what does:
>>
>> a = (if False: 1)
>>
>> evaluate to?
>
> That's a good question.  This is one of those areas where a definition
> would need to be created.  My inclination is to say None (much like a
> function with no return statement).
>

Assuming the return value of "None", I go back to an example I gave  
earlier:

    factors = for x in range(2, n):
        if n % x == 0:
            x

This doesn't work as intended (filtering out the non-factors).  How to  
make it work?  The only way I can think of is to make (if 0: 1) return  
a special "non-value" which loops will then filter out.  But then we  
all know what happens to non-values.

So how would you solve this problem?

> Cliff

-- 
Arnaud




More information about the Python-ideas mailing list