while True or while 1
MRAB
python at mrabarnett.plus.com
Sun Jan 22 11:13:37 EST 2012
On 22/01/2012 16:05, Dan Sommers wrote:
> On Sun, 22 Jan 2012 05:25:25 +0000, Steven D'Aprano wrote:
>
>> Or they've been writing Python code since before version 2.2 when True
>> and False were introduced, and so they are used to the "while 1" idiom
>> and never lost the habit.
>
> That would be me.
>
> As per a now-ancient suggestion on this mailing list (I believe it was by
> Tim Peters), I've also been known to use a non-empty, literal Python
> string as a self-documenting, forever-True value in the typical loop-and-a-
> half cnstruct:
>
> while "the temperature is too big":
> temperature = get_temperature()
> if temperature<= threshold:
> break
> process_temperature(temperature)
>
> This way, even though the loop condition is buried inside the loop (which
> could be longer than four lines), it is apparent as soon as I encounter
> the loop.
>
And the output of "dis" shows that it's optimised to a forever loop.
> With the advent of the "with" statement, though, these loops are slowly
> disappearing.
>
More information about the Python-list
mailing list