[Python-3000] Stackable Blocks

Jay Parlar jparlar at cogeco.ca
Mon Apr 24 05:52:51 CEST 2006


On Apr 23, 2006, at 5:12 PM, Crutcher Dunnavant wrote:

> On 4/23/06, Ivan Krstic <krstic at fas.harvard.edu> wrote:
>> Crutcher Dunnavant wrote:
>>> for file in open_files: if file.readable():
>>>   ...
>>>
>>> for line in open(file): if line.strip():
>>
>> I don't like this. It looks unclean and adds an exception to the
>> conventional Python rules while yielding no particular or significant
>> benefit.
>
> It doesn't add any exception, it changes how the block syntax works.
>

I think what Ivan meant is that the normal Python rule is that if you 
have a full-colon (ANYWHERE), and you put something after it on the 
same line, then you're done the block. This behaviour is the same for 
method definitions, IF-blocks, the FOR statement, class definitions, 
etc.

However, your change would be an exception to the rule, in that it 
would change what a full-colon is allowed to do, but only in one place.

Jay P.



More information about the Python-3000 mailing list