The rap against "while True:" loops

Russ P. russ.paielli at gmail.com
Fri Oct 16 17:23:17 EDT 2009


On Oct 10, 1:15 pm, kj <no.em... at please.post> wrote:
> I'm coaching a group of biologists on basic Python scripting.  One
> of my charges mentioned that he had come across the advice never
> to use loops beginning with "while True".  Of course, that's one
> way to start an infinite loop, but this seems hardly a sufficient
> reason to avoid the construct altogether, as long as one includes
> an exit that is always reached.  (Actually, come to think of it,
> there are many situations in which a bona fide infinite loops
> (typically within a try: block) is the required construct, e.g.
> when implementing an event loop.)
>
> I use "while True"-loops often, and intend to continue doing this
> "while True", but I'm curious to know: how widespread is the
> injunction against such loops?  Has it reached the status of "best
> practice"?

Never, ever use "while True". It's an abomination. The correct form is
"while 1".

But seriously, folks ... "while condition" is nice when the desired
break is at the beginning or end of the block, but otherwise it forces
unnecessary contortions that can hamper readability.



More information about the Python-list mailing list