while True or while 1
invalid at invalid.invalid
Mon Jan 23 10:51:37 EST 2012
On 2012-01-21, Erik Max Francis <max at alcyone.com> wrote:
> Chris Angelico wrote:
>> On Sun, Jan 22, 2012 at 12:47 AM, Andrea Crotti
>> <andrea.crotti.0 at gmail.com> wrote:
>>> So I tried to do the following, and the result is surprising. For what
>>> I can see it looks like the interpreter can optimize away the 1 boolean
>>> conversion while it doesn't with the True, the opposite of what I
>>> Anyone can explain me why is that, or maybe is my conclusion wrong?
>> In Python 3, they compile to the same code, because 'True' is a
>> keyword. In Python 2, you can reassign True to be 0.
> Why this should concern anyone, I don't know;
I don't think it does concern anybody (except the compiler, who treats
all identifiers the same).
> The real reason people still use the `while 1` construct, I would
> imagine, is just inertia or habit,
That's certain why I do it. It's left over from the days when C and
Python didn't have symbolic boolean "constants".
> rather than a conscious, defensive decision. If it's the latter,
> it's a case of being _way_ too defensive.
Grant Edwards grant.b.edwards Yow! Hmmm ... A hash-singer
at and a cross-eyed guy were
gmail.com SLEEPING on a deserted
island, when ...
More information about the Python-list