Postfix conditionals

Göktuğ Kayaalp self at gkayaalp.com
Mon Jan 6 02:51:28 EST 2014


On 06-01-2014 03:40, Rhodri James wrote:
> On Sun, 05 Jan 2014 20:24:53 -0000, Göktuğ Kayaalp <self at gkayaalp.com> 
> wrote:
>
>> AFAIK, we do not have "postfix conditionals" in Python, i.e. a 
>> condition appended to a statement, which determines whether the 
>> statement runs or not:
>
>>    py> for i in [False]:
>>    ...     break if not i
>
>>  The above piece of code is equivalent to this in Python:
>
>>    py> for i in [False]:
>>    ...    if not i
>>    ...        break
>
>> I believe that the first example is superior to the second example 
>> when the two is compared for readability and intuitiveness.
>
> In my past life as a newcomer to Perl, I thought this too. Postfix 
> conditionals read more like English, so they would be easier to take 
> in and understand.  As I wrote more code, I discovered that this 
> didn't seem to be the case; except in very simple cases, I had to 
> mentally transpose the conditional back to the start of the statement 
> to properly comprehend what was going on and what the results would be 
> for my sample data.
>
> It looks like a good idea, but I don't think it works that well in 
> practice.
>
Thanks for the input! I'd be quite interested in examples which required 
you to "mentally transpose the conditional back to the start of the 
statement", by the way.

         gk




More information about the Python-list mailing list