Neal Becker wrote:
markol...@gmail.com wrote:
On Sep 11, 7:36 pm, Johan Grönqvist <johan.gronqv...@gmail.com> wrote:
Hi All,
I find several places in my code where I would like to have a variable
scope that is smaller than the enclosing function/class/module
definition.
This is one of the single major frustrations I have with Python and a
important source of bugs for me. Here is a typical situation
for i, j in visited:
a[i, j] = 1
for i in range(rows):
a[i, 0] = 1
for j in range(columns):
a[0, i] = 1
As you see the third loop has a bug (I am actually mixing two logics:
1) using i for rows and j for columns 2) using i for the first
iterator and j for the second). The result is a buggy code that is
tolerated by Python. In C++ or Perl I don't have this problem. I
wonder whether other people share this opinion and if we have ever had
PEPs trying to address that...
Marko
I agree. I wish there were a convenient way to switch this 'feature'
on/off. I believe the vast majority of the time I do not want variable
names leaking out into other scopes. OTOH, sometimes it's convenient.
loop != scope
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list