Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #19192 > unrolled thread
| Started by | Matteo Landi <matteo@matteolandi.net> |
|---|---|
| First post | 2012-01-21 16:24 +0100 |
| Last post | 2012-01-21 16:24 +0100 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.lang.python
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: while True or while 1 Matteo Landi <matteo@matteolandi.net> - 2012-01-21 16:24 +0100
| From | Matteo Landi <matteo@matteolandi.net> |
|---|---|
| Date | 2012-01-21 16:24 +0100 |
| Subject | Re: while True or while 1 |
| Message-ID | <mailman.4910.1327159453.27778.python-list@python.org> |
Probably because of the fact it is possible to set True equal to False and
consequently then invalidate loop logic as presented below:
True = False
while True:
...
On the other hand `1' will always be evaluated as a constant.
Don't know, just guessing.
Matteo
On Jan/21, Andrea Crotti wrote:
> I see sometimes in other people code "while 1" instead of "while True".
> I think using True is more pythonic, but I wanted to check if there is
> any difference in practice.
>
> 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
> supposed.
>
> Anyone can explain me why is that, or maybe is my conclusion wrong?
>
> def f1():
> while 1:
> pass
>
> def f2():
> while True:
> pass
>
> In [10]: dis.dis(f)
> 2 0 SETUP_LOOP 3 (to 6)
>
> 3 >> 3 JUMP_ABSOLUTE 3
> >> 6 LOAD_CONST 0 (None)
> 9 RETURN_VALUE
>
> In [9]: dis.dis(f1)
> 2 0 SETUP_LOOP 10 (to 13)
> >> 3 LOAD_GLOBAL 0 (True)
> 6 POP_JUMP_IF_FALSE 12
>
> 3 9 JUMP_ABSOLUTE 3
> >> 12 POP_BLOCK
> >> 13 LOAD_CONST 0 (None)
> 16 RETURN_VALUE
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
http://www.matteolandi.net
Back to top | Article view | comp.lang.python
csiph-web