[Q] ipython: Multiple commands on the same line and newlines

harrismh777 harrismh777 at charter.net
Mon Apr 18 02:01:24 EDT 2011


Terry Reedy wrote:
> You can write multiple *simple* statements using ';'.

> All compound statements, like while, must start on own line.

>> E.g. I want:
>> "x = 0;<ctrl-enter>
>
> This is one statement

>> while x<  10:<ctrl-enter>
>>      x = x + 1;<ctrl-enter>


Lutz has a very nice write-up entitled "Why Indentation Syntax?"

Lutz, Mark, "Learning Python: Powerful Object Oriented Programming,"
     4th ed, (Sebastopol: O'Reilly, 2009), 266 -271.

     He makes the point clear that only simple statements may be chained 
together on a single line with  ;  and that compound statements (like 
while) "must still appear on lines of their own" (Lutz, 269).

     It might be nice (as an option) to be able to disengage the forced 
indentation syntax rules of Python. In other words, provide indentation 
syntax by default and allow an option via environment variable to engage 
an alternate (more C-like) blocking syntax.

     The forced indentation syntax is great for readability (and 
frankly, I like the appearance /low clutter) but it is inconvenient in 
some situations, like the one at the top of the thread.

     Just an idea (probably already been beaten to death long before my 
time)   :)

kind regards,
m harris





More information about the Python-list mailing list