semicolon at end of python's statements

Terry Reedy tjreedy at udel.edu
Sat Aug 31 01:03:35 EDT 2013


On 8/30/2013 8:09 PM, Steven D'Aprano wrote:

> We really are spoiled for choice here. We can write any of these:
>
> # Option 1
> for spam in sequence:
>      if predicate(spam):
>          process(spam)
>
> # Option 2
> for spam in filter(predicate, sequence):
>      process(spam)
>
> # Option 3
> for spam in (spam for spam in sequence if predicate(spam)):
>      process(spam)
>
>
> Adding a fourth option:
>
> for spam in sequence if predicate(spam):
>      process(spam)
>
> saves absolutely nothing except a line and an indent level, neither of
> which are in short supply, and gains nothing in readability over Option 1.

Which is why it has been rejected.

> But of all the options shown, including the hypothetical for...if, I
> still prefer Option 1, or Option 2 as my second option.

Ditto.

I think people would be better off spending more time learning more 
about how to use this incredibly powerful tool we have and less arguing 
for rejected redundant alternatives to what we do have. Just a few days 
ago, after 16 years of Python, I learned something really neat about 
function attributes of instances that made a certain testing problem 
disappear.

-- 
Terry Jan Reedy




More information about the Python-list mailing list