"Paddy" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] >I was just perusing a Wikipedia entry on the "off side rule" at > http://en.wikipedia.org/wiki/Off-side_rule . > It says that the colon in Python is purely for readability, and cites > our FAQ entry > http://www.python.org/doc/faq/general.html#why-are-colons-required-fo... > . > However, near the top of the Alternatives section, it states that for C > type, curly braces using languages: > "An advantage of this is that program code can be automatically > reformatted and neatly indented without fear of the block structure > changing". > > Thinking about it a little, it seems that a colon followed by > non-indented code that has just been pasted in could also be used by a > Python-aware editor as a flag to re-indent the pasted code. > > Tell me it is not so, or I will be editing the Wikipedia page I think. > > - Paddy. > No, the ambiguity comes in when you have a nested construct within another nested construct. Here is some (fake) code where all the indentation was lost after pasting through a badly-behaved newsreader (this is NOT real code, I know that it wont really run, I'm just trying to demonstrate the indentation issue):
while x: a = 100 if b > 3: a += 1 b += 1 Here are some valid indented versions: while x: a = 100 if b > 3: a += 1 b += 1 while x: a = 100 if b > 3: a += 1 b += 1 while x: a = 100 if b > 3: a += 1 b += 1 while x: a = 100 if b > 3: a += 1 b += 1 The colons alone are not sufficient to tell us which is correct. -- Paul -- http://mail.python.org/mailman/listinfo/python-list