Whitespace as syntax (was Re: Python Rocks!)
Gordon McMillan
gmcm at hypernet.com
Mon Feb 7 23:05:19 EST 2000
More information about the Python-list mailing list
Mon Feb 7 23:05:19 EST 2000
- Previous message (by thread): Whitespace as syntax (was Re: Python Rocks!)
- Next message (by thread): Whitespace as syntax (was Re: Python Rocks!)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
fcahoon at my-deja.com writes: [skip to example] > > if condition1: > <S><S><S><S>statement1 > <S><S><S><S>statement2 > <S><S><S><S>if condition2: > <S><S><S><S><S><S><S><S>statement3 > <T>statement4 > > To which loop does statement4 belong? Unambiguous. It belongs to "if condition2". Python interprets tabs as 8. > This is what I've seen in some C code that's been through many hands: > > The old-timers used 8-space tabs to effect 3-space indentation. Don't > ask me why. 1 indent = 3S, 2 indent = 6S, 3 indent = TS. Python will warn about this, because there are interpretations of "tab" that yield inconsistent results. Thus most coders use only spaces or only tabs. > The 2nd generation of coders set their tabs to 3 spaces in > the editor, editing some parts of the code, unaware that other parts of > the same file contained 8-space tabs. This will almost certainly make some line ending in a colon appear to be followed by a dedent. That's quite noticable. If the 2nd programmer edits a block indented by the first programmer, Python will give him a syntax error. If he adds a brand new block, no problem, because indentation is everywhere locally consistent. > Tabs were converted to spaces > under the mistaken assumption that they were all 3-space tabs. There are Python tools that will convert Python code from any indentation style to any other style, based on a Python parse of the code, not the programmer's guess. Deformations can proceed indefinitely in C, but they will be very quickly noticed in Python, so the code won't stay strangely formatted for long. Just as I run indent on all but the most pristine C code, I run tabcleaner on any oddly formatted Python. - Gordon
- Previous message (by thread): Whitespace as syntax (was Re: Python Rocks!)
- Next message (by thread): Whitespace as syntax (was Re: Python Rocks!)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list