Manuel Graune wrote:
Hello,consider the following piece of code: a=1 b=2 def foo(c): b=3 return a + b + c In this case, when calling "foo", "a" will take the global value, "b" will take the local value and "c" will take the value assigned when calling the function. Since I consider this behaviour a possible source of bugs due to personal sloppiness (e. g. forgetting to put "a=4" inside the function-body): Is there any way to automatically check that all variables in a function are either local or passed in as arguments?
There are at least 3 code checking programs: pychecker, pylint, pyflakes. Perhaps one of them has an option to check for non-builtin globals. Would not be too difficult to add, I suspect.
-- http://mail.python.org/mailman/listinfo/python-list
