while true: !!!
Bjorn Pettersen
pbjorn at uswest.net
Tue Dec 19 09:39:50 EST 2000
Steve Lamb wrote:
> On Mon, 18 Dec 2000 07:38:52 -0700, Bjorn Pettersen <pbjorn at uswest.net> wrote:
> [snip[
> > for line in f.readlines():
> > ...
> Which...
> >has the potential of crashing your machine with an out-of-memory error if you
> >don't know the sizes of files you're operating on.
> ...wastes memory.
Well, if you have it, and use it, you're hardly wasting it <wink>.
> >So, the status quo is that because the straight-forward way of doing it is
> >too slow, we're all using an optimized idiom that while easy to understand if
> >coming from a CS background, doesn't model what you're doing (at least not
> >until you've programmed enough Python that reading a file seems like an
> >endless loop <wink>).
>
> Or doing it in the 2-3 other languages I know of which use while in the
> exact same manner. I'm sure if we took a pole of the computer languages known
> here you'd find that it is pretty much a standard across many languages, not
> just Python.
Thank you for restating what I said: coming from a CS background/other languages,
"while 1:" is quite understandable. I don't think this is necessarily an area
worth mimicking other languages though (especially since one of the main arguments
for adding += to the language was because it closer modelled the intended semantic
of the expression).
> Hell, if you want to grouse about readability in Python, why not attack
> some of the more obvious targets?
> [snip examples of else clauses on for and while loops]
So you're arguing that since Python is so unreadable in it's use of else clauses,
"while 1:" hardly matters? <wink>
-- bjorn
ps: the only questions I have seen about "else on while" have indicated that
beginners expect the else clause to be executed if the condition fails the first
time (I could probably come up with a coherent argument for why that is the
"negative" of a loop <wink>)
pps: I did enjoy the "while 1: ... else: ..." construct ;-)
More information about the Python-list
mailing list