Andreas Tawn wrote:
Terry Reedy wrote:
1. Python's reluctance to multiply scopes without necessity (as other>For loop variables continue after the loop exits. This isI never knew that and I can't find reference to it in the docs. Can you
intentional.
help me with the reasons for it?
respondents have discussed).
2. This way, a for loop abbreviates an equivalent while loop (which does
have an explicit assignment). Something like:
for item in iterable:
suite
it = iter(iterable)
while True
item = next(it) # 3.0, 2.6?
suite
Of course, one could add 'del item' after the loop, but...
3. For search loops, the final value bound may be wanted after the loop.
for item in iterable:
if pred(item): break
else:
item = default
# item is now first item in iterable with property pred
# or fallback default.
f(item)
tjr