A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2010-November/105550.html below:

[Python-Dev] Closures / Python Scopes

[Python-Dev] Closures / Python ScopesHatem Nassrat hnassrat at gmail.com
Fri Nov 12 21:08:42 CET 2010
A colleague of mine came across something anecdotal when working with
lambdas, it is expressed by the following code snippet.

  In [1]: def a():
     ...:     for i in range(10):
     ...:         def b():
     ...:             return i
     ...:         yield b
     ...:
     ...:

  In [2]: funcs = list(a())

  In [3]: print [f() for f in funcs]
  [9, 9, 9, 9, 9, 9, 9, 9, 9, 9]


I understand that for loops in python do not have a scope, neither do
if statements, and python is awesome for that. Is this something
accidental? i.e. will python ever evolve into having scopes for if and
for loops (and other blocks that are not functions)? the reason I ask
is with the introduction of
http://docs.python.org/py3k/reference/simple_stmts.html#nonlocal it
seems like something that can happen.

--
Hatem Nassrat
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4